1、全局寫法:
全局過濾器必須寫在vue實例創建之前。
Vue.filter('testfilter', function (value,text) { // 返回處理后的值 return value+text })
2、局部寫法:
在組件實例對象里掛載。
filters: { changemsg:(val,text)=>{ return val + text } },
3、使用:
只能使用在{{}}和:v-bind中,定義時第一個參數固定為預處理的數,后面的數為調用時傳入的參數,調用時參數第一個對應定義時第二個參數,依次往后類推
<h3 :title="test|changemsg(1234)">{{test|changemsg(4567)}}</h3>
//多個過濾器也可以串行使用
<h2>{{name|filter1|filter2|filter3}}</h2>
4、vue-cli項目中注冊多個全局過濾器寫法:
//1.創建一個單獨的文件定義並暴露函數對象 const filter1 = function (val) { return val + '--1' } const filter2 = function (val) { return val + '--2' } const filter3 = function (val) { return val + '--3' } export default { filter1, filter2, filter3 } //2.導入main.js(在vue實例之前) import filters from './filter/filter.js' //3.循環注冊過濾器 Object.keys(filters).forEach(key=>{ Vue.filter(key,filters[key]) })