vue教程2-06 过滤器
2017-04-27 14:53
531 查看
vue教程2-06 过滤器
过滤器:
vue提供过滤器:
capitalize uppercase currency....
debounce 配合事件,延迟执行
数据配合使用过滤器:
limitBy 限制几个
limitBy 参数(取几个)
limitBy 取几个 从哪开始
filterBy 过滤数据
filterBy ‘谁’
orderBy 排序
orderBy 谁 1/-1
1 -> 正序
2 -> 倒序
自定义过滤器: model ->过滤 -> view
Vue.filter(name,function(input){
});
时间转化器
过滤html标记
双向过滤器:*
Vue.filter('filterHtml',{
read:function(input){ //model-view
return input.replace(/<[^<+]>/g,'');
},
write:function(val){ //view -> model
return val;
}
});
数据 -> 视图
model -> view
view -> model
过滤器:
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教程3-06 vue路由嵌套(多层路由),路由其他信息
- Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
- vue.js中过滤器的使用教程
- vue教程1-07 模板和过滤器
- vue教程1-06 v-bind属性、class和style
- vue-cli教程(四) 组件状态共享(vuex)
- Vue2.0 探索之路——vuex入门教程和思考
- Vue + Webpack + Vue-loader学习教程之相关配置篇
- Vue.js学习系列(二十二)--过滤器
- vue.js 2.x教程
- vue.js学习之UI组件开发教程
- vue-swiper的使用教程
- Vue2.x教程之filter过滤器的使用
- Vue过滤器的用法和自定义过滤器使用
- 06 十字光标的自由移动-DirectX游戏开发初级教程
- [Selenium With C#基础教程] Lesson-06 单选按钮
- vue教程1-09 交互 vue实现百度下拉列表
- 前端Vue/Angular/React实战视频教程合集
- vue教程2-01 vue生命周期、钩子函数
- 【黑金视频连载】NIOSII视频教程(06)--沿中断实验