Vue 全局过滤和局部过滤

局部过滤器(放在组件里)

filters: { //局部过滤器
      FormattingMoney:value=>{
        return value==null? '0' : value/100
      }
},

使用:{{money | FormattingMoney}}

全局过滤器(放main.js)

Vue.filter("ellipsis", (str, maxLen) => {
  return str.length > maxLen ? str.slice(0, maxLen) + "..." : str;
})

使用:{{title | ellipsis(20)}}

注:第一个参数默认为要过滤的值


当项目所用到的过滤器比较多时,把方法定义在一个js文件里面导出
/src/common/custom.js

let FormattingMoney = value => {
  return value==null? '0' : value/100
}
export { FormattingMoney }

/src/main.js

import * as custom from './common/custom'

Object.keys(custom).forEach(key => {
  Vue.filter(key, custom[key])
})

然后在其他的.vue 文件中就可愉快地使用这些我们定义好的全局过滤器了

{{ money | FormattingMoney }}

原文地址:https://www.cnblogs.com/conglvse/p/10253432.html