vue过滤器注入问题

注意:  在全局定义了,局部不需要再导入,否则报错:有定义但没用
过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)  
<!-- 在双花括号中 -->
{{ message | capitalize }}

<!-- 在 `v-bind` 中 -->
<div v-bind:id="rawId | formatId"></div>

  

1.在组建定义
filters: {
  capitalize: function (value) {
    if (!value) return ''
    value = value.toString()
    return value.charAt(0).toUpperCase() + value.slice(1)
  }
}

  

2.Vue 实例之前全局定义过滤器:

Vue.filter('capitalize', function (value) {
  if (!value) return ''
  value = value.toString()
  return value.charAt(0).toUpperCase() + value.slice(1)
})

  

1.全局引入了,不需要在局部导入
<div class="el-list__key-val">
      <div class="el-list__key">性别</div>
       <div class="el-list__val">{{user.userSex | sexType}}</div>
  </div>
 sexType 定义好的公共方法,此处不用再导入
2.全局引入了,需要在局部导入
<ui-table-column prop="endDate" :formatter="formatTableDate" label="结束时间"></ui-table-column>
formatTableDate =>定义一个方法,此处需要导入。此处formatter,绑定一个方法,但没有参数传入,应该在页面定义方法,如下:
formatTableDate(row, column) {
        return formatDate(row[column.property])
 }
formatDate =>定义好的公共方法
原文地址:https://www.cnblogs.com/LWJ-booke/p/8491365.html