参考链接–官网文档 参考链接2
vue filters过滤器是vue中用来处理文本格式化的工具。可以对数据进行处理,规范项目的一些数据的特定格式。
当全局过滤器和局部过滤器重名时,会采用局部过滤器。
1,处理一些文本格式化。比如规定日期格式,规定价格格式【处理数据添加美元符号等】。
例如一个购物车界面,读取json文件获取购物车内物品的相关信息。对于单价的变量,读取后需要加美元符号或者加小数点,可以使用过滤器2,封装项目中的一些全局方法。项目中的一些全局方法,比如对数据作四舍五入取值的方法,比如遍历数据等一些工具方法,常常在许多地方都需要使用。需要将这些方法作为全局方法。可以通过vue.prototype , mixins 在main.js文件中封装全局方法。但维护性和可读性差。可以通过全局定义过滤器来达到同样的效果。
1,
{{ message | filterA | filterB }}如上所示,filterA被定义为接收单个参数的过滤器函数,表达式message的值将作为参数传入到函数中。然后继续调用同样被定义为接收单个参数的过滤器filterB,将filterA的结果传递到filterB中。
2,
{{ message | filterA('arg1', arg2) }}如上所示,filterA被定义为接收三个参数的过滤器函数。其中message的值作为第一个参数,普通字符串’arg1’作为第二个参数,表达式arg2的值作为第三个参数。
1,vue.prototype
在main.js入口文件中将方法挂载到vue.prototype实现全局封装,如我们封装一个获取时间戳的函数。 Vue.prototype.now = Date.now || function () { return new Date().getTime(); }; 在.vue文件中通过this.调用 <script> export default { mounted(){ console.log('now:' + this.now()); }, } </script>2, mixins
在main.js文件中注入。 mixins的全局注入规则:如果组件中没有这个getTime方法,那么就会在页面中注入这个方法。 Vue.mixin({ data() {}, methods: { getTime() { return new Date().getTime(); } } }); new App({ el: '#app' // ... });