Vue管道

在Vue2.x版本中,filter需要自己定义才能够使用

过滤器可以用在两个地方:

双花括号插值,如:{{ message | capitalize }}
v-bind表达式(从2.1.0+版本支持),如:<div v-bind:id="rawId | formatId"></div>

自定义的方式有两种:

  • 在组件的选项中定义本地的过滤器:
filters: {
  capitalize: function (value) {
    if (!value) return ''
    value = value.toString()
    return value.charAt(0).toUpperCase() + value.slice(1)
  }
}
  • 在创建Vue实例之前全局定义:
Vue.filter('capitalize', function (value) {
  if (!value) return ''
  value = value.toString()
  return value.charAt(0).toUpperCase() + value.slice(1)
})

new Vue({
  // ...
})

函数中的value既是message的值

Vue中的过滤器可以串联
{{ message | filterA | filterB}}
过滤器的执行顺序是从左到右,左边返回的值是下一个过滤器中的value

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,082评论 0 29
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 UI组件 element ★13489...
    前端来入坑阅读 3,585评论 0 31
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,258评论 0 6
  • 谈谈 iOS “返回”键的那些事 前面的话 谈起 iOS 的“返回”键,大家的心跳开始加速了吧。 加速可以,但请不...
    Kenny做产品阅读 36,860评论 1 19