<div id="app">
<!--过滤器函数总接收表达式的值 (之前的操作链的结果) 作为第一个参数。
change 过滤器函数将会收到 msg 的值作为第一个参数。-->
<p>{{msg | change}}</p>
<!--change1 被定义为接收单个参数的过滤器函数,表达式 msg1 的值将作为参数传入到函数中。
然后继续调用同样被定义为接收单个参数的过滤器函数 change2,将 change1 的结果传递到 change2 中。-->
<!--change1 被定义为接收三个参数的过滤器函数。
其中 msg1 的值作为第一个参数,普通字符串 '疯子' 作为第二个参数,
表达式 hello 的值作为第三个参数。-->
<p>{{msg1 | change1('疯子', hello)|change2}}</p>
</div>
{
//全局过滤器:所有定义的new Vue都可以用
// Vue.filter('change',function(msg){
// return msg.replace(/l/g,'cc1')
// });
let vm = new Vue({
el: '#app',
data: {
msg: 'luck lucy lu love',
msg1: 'luck luc',
hello: 'hello everyone! '
},
methods: {},
filters: {//私有过滤器:仅此vm可以用
change(msg) {
return msg.replace(/l/g, 'cc2')
},
change1(msg, str1, str2) {
return msg.replace(/l/g, str1 + str2)
},
change2(msg) {
return msg + '========='
}
}
})
}
时间过滤插件 moment :
<p>{{item.add_time|dateFormat('yyy-mm-dd')}}</p>
// 导入格式化时间的插件
import moment from 'moment';
// 定义全局过滤器
Vue.filter('dateFormat', function (dataStr, pattern = "YYYY-MM-DD HH:mm:ss") {
return moment(dataStr).format(pattern);
})