关于vue的过滤器

平时我们在vue中使用过滤器时,在组件中定义的过滤器不能在其他组件中使用,所以要在每个组件中定义自己的filter,这样就会出现很多重复的代码,那有没有办法定义一个公用的filter,减少代码的重复呢?

下面就给大家展示下使用最多且有效的方法吧!

首先在公用js中定义一个通用的filter.js,如下图所示,记得一定要把代码整个export出来
const vFilter={
  numFilter:function (value) {
      // 截取当前数据到小数点后两位
      let realVal = Number(value).toFixed(2)
      return realVal
    }
  }
 
export default vFilter
然后在main.js中引入
import vueFilter from './js/filter'
for (let key in vueFilter){
  Vue.filter(key,vueFilter[key])
}
这样我们就可以在组件中尽情使用啦,比如说

¥{{goodsItem.goodsPrice|numFilter}}


 

 

 

 

msg的值:{{msg}},其中a的个数: {{msg | myfilter('a')}}
msg的值:{{msg}},其中b的个数: {{msg | myfilter | myfilternumber}}

你可能感兴趣的:(vue)