filter是和data computed methods watch一样,都是new Vue()的参数。
用于对简单数据的处理,和computed有冲突,所以从vue2.0后就对filter做了删减,我觉得没有filter完全能够用其他方法比如computed来实现
用在{{ 变量1 | 变量2 }} 或者 v-bind:xx=“ 变量1 | 变量2([参数) ” 两种;其中变量1是data的k,变量2是filter的k,
filter:{ 变量2:function(变量1,参数){xxxx}}
<div id="app">
<div> {{val | upcaseVal(true)}}</div>
<div v-bind:title="val | upcaseVal">{{val}}</div>
<div>{{val | removeSpace}}</div>
</div> <script>
var vm = new Vue({
el: '#app',
data: {
val: 'hello world'
},
filters: {
upcaseVal: function (val, firstUpper) {//filter里函数的参数需要特别注意 第一个是指|前的值,第二个是true
if (firstUpper) {
return val.split(' ').map(function (e) {
return e[0].toUpperCase() + e.slice(1)
}).join(' ')
}
return val.toUpperCase();
},
removeSpace:function(val){
return val.toUpperCase()
}
}
})