在Vue2.x版本中,filter需要自己定義才能夠使用
過濾器可以用在兩個地方:
- 雙花括號插值,如:
{{ message | capitalize }} -
v-bind表達式(從2.1.0+版本支持),如:<div v-bind:id="rawId | formatId"></div>
自定義的方式有兩種:
- 在組件的選項中定義本地的過濾器:
filters: {
capitalize: function (value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
}
}
- 在創(chuàng)建Vue實例之前全局定義:
Vue.filter('capitalize', function (value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
})
new Vue({
// ...
})
函數中的value既是message的值
Vue中的過濾器可以串聯
{{ message | filterA | filterB}}
過濾器的執(zhí)行順序是從左到右,左邊返回的值是下一個過濾器中的value