<body><div id="app"><p>{{ msg |msgFormat('大好人','123')| test }}</p><!--传入参数--></div><script>//定义一个vue全局的过滤器,名为msgFormat
Vue.filter('msgFormat',function(msg, arg1, arg2){//第一个参数除了可写一个字符串,还可以定义一个正则表达式return msg.replace(/SB/g, arg1+arg2);})//过滤器可以多次调用
Vue.filter('test',function(msg){return msg+'....';})
var vm = new Vue({
el:"#app",
data:{
msg:'你是SB'},
methods:{}});</script></body>
2.私有过滤器
<body><div id="app"><p>{{ dt | msgFormat }}</p></div><script>
var vm = new Vue({
el:"#app",
data:{
dt: new Date()},
methods:{},
filters:{
msgFormat:function(dateStr, pattern=''){
var dt = new Date(dateStr);
var y = dt.getFullYear();
var m =(dt.getMonth()+1).toString().padStart(2,'0');
var d = dt.getDate().toString().padStart(2,'0');if(pattern.toLowerCase()==='yyyy-mm-dd'){return `${y}-${m}-${d}`;}else{
var hh = dt.getHours().toString().padStart(2,'0');
var mm = dt.getMinutes().toString().padStart(2,'0');
var ss = dt.getSeconds().toString().padStart(2,'0');return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
}}}});</script></body>