平时我们在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])
}
  • 这样我们就可以在组件中尽情使用啦,比如说
    <p class="goods-info-p ">¥{{goodsItem.goodsPrice|numFilter}}</p>
    希望可以给你带来帮助
Logo

前往低代码交流专区

更多推荐