vue过滤器用法实例分析
程序员文章站
2022-05-07 12:49:42
本文实例讲述了vue过滤器用法。分享给大家供大家参考,具体如下:
过滤器:
vue提供过滤器:
capitalize uppercase curr...
本文实例讲述了vue过滤器用法。分享给大家供大家参考,具体如下:
过滤器:
vue提供过滤器:
capitalize uppercase currency....
<div id="box"> {{msg|currency ¥}} </div>
debounce 配合事件,延迟执行
<div id="box"> <input type="text" @keyup="show | debounce 2000"> </div>
数据配合使用过滤器:
limitby 限制几个
limitby 参数(取几个)
limitby 取几个 从哪开始
<div id="box"> <ul> <!--取2个--> <li v-for="val in arr | limitby 2"> {{val}} </li> <br/> <br/> <!--取2个,从第arr.length-2个开始取--> <li v-for="val in arr | limitby 2 arr.length-2"> {{val}} </li> </ul> </div> <script> var vm=new vue({ data:{ arr:[1,2,3,4,5] }, methods:{ } }).$mount('#box'); </script>
filterby 过滤数据
filterby '谁'
<div id="box"> <input type="text" v-model="a"> <ul> <li v-for="val in arr | filterby a"> {{val}} </li> </ul> </div> <script> var vm=new vue({ data:{ arr:['width','height','background','orange'], a:'' }, methods:{ } }).$mount('#box'); </script>
orderby 排序
orderby 谁 1/-1
1 -> 正序
2 -> 倒序
<div id="box"> <input type="text" v-model="a"> <ul> <li v-for="val in arr | orderby -1"> {{val}} </li> </ul> </div> <script> var vm=new vue({ data:{ arr:['width','height','background','orange'], a:'' }, methods:{ } }).$mount('#box'); </script>
自定义过滤器: model ->过滤 -> view
vue.filter(name,function(input){ });
<div id="box"> {{a | todou 1 2}} </div> <script> vue.filter('todou',function(input,a,b){ alert(a+','+b); return input<10?'0'+input:''+input; }); var vm=new vue({ data:{ a:9 }, methods:{ } }).$mount('#box'); </script>
时间转化器
<div id="box"> {{a | date}} </div> <script> vue.filter('date',function(input){ var odate=new date(input); return odate.getfullyear()+'-'+(odate.getmonth()+1)+'-'+odate.getdate()+' '+odate.gethours()+':'+odate.getminutes()+':'+odate.getseconds(); }); var vm=new vue({ data:{ a:date.now()//返回1970 年 1 月 1日午夜与当前日期和时间之间的毫秒数。 }, methods:{ } }).$mount('#box'); </script>
过滤html标记
双向过滤器:*
vue.filter('filterhtml',{ read:function(input){ //model-view return input.replace(/<[^<+]>/g,''); }, write:function(val){ //view -> model return val; } });
数据 -> 视图
model -> view
view -> model
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title></title> <style> </style> <script src="vue.js"></script> <script> //<h2>welcome</h2> vue.filter('filterhtml',{ read:function(input){ //model-view alert(1); return input.replace(/<[^<]+>/g,''); }, write:function(val){ //view -> model console.log(val); return val; } }); window.onload=function(){ var vm=new vue({ data:{ msg:'<strong>welcome</strong>' } }).$mount('#box'); }; </script> </head> <body> <div id="box"> <input type="text" v-model="msg | filterhtml"> <br> {{msg | filterhtml}} </div> </body> </html>
希望本文所述对大家vue.js程序设计有所帮助。
上一篇: vue项目前端埋点的实现