filters过滤器

过滤器:对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理)

注册过滤器:

        全局注册:

Vue.filter('mySlice',function(value){
        return value.slice(0,4)
    })

        局部注册:

​
    filters:{
        toUpcase(value) {
          return value ? value.toUpperCase() : ''
        }
    }

​

使用过滤器:{{ xxx│过滤器名}}  或  v-bind:属性= “xxx│过滤器名"

        过滤器也可以接收额外参数、多个过滤器也可以串联2.并没有改变原本的数据,是产生新的对应的数据

1.在插值表达式中使用过滤器

        通过“{{data}}”语法,可以将data中的数据插入页面中,该语法就是插值语法表达式。在插值语法表达式中还可以使用过滤器来对数据进行处理。

        message作为参数传递到toUpcase过滤器中执行,toUpcase将返回的最终结果展示到页面中。符号“I”称为管道符,管道符之前代码的执行结果会传到后面作为参数进行处理。

<div id="app">
    <div>{{message | toUpcase}}</div>
</div>

<script>
  var vm = new vue({
    el: '#app',
    data: {
        message : 'hello'
    },
    filters:{
          //将hello转换为HELLO
        toUpcase(value) {
          return value ? value.toUpperCase() : ''
        }
    }
  })
</script>

  
2.在v-bind属性绑定中使用过滤器

        v-bind用于属性绑定,如“v-bind:id="data"”表示绑定id属性,值为data。在data后面可以加过滤器,语法为“data I filter”。

        id属性通过 v-bind 与data中的 datald绑定,并且通过管道符传递给了formatld 进行处理,formatld()方法需要定义在 filters选项中,chartAt()是字符串处理的方法,参数为索引值,当前获取的是索引为1的字符f,而indexOf()方法的参数为指定字符,当前获取的是字符d所在的索引0。
 

<div id="app">
    <div v-bind:id="datald | formatId">hello</div>
</div>

<script>
  var vm = new vue({
    el: '#app',
    data: {
        dataId: 'df1'
    },
    filters:{
        formatId (value) {
          //字符串处理
          return value ? value.charAt (1) + value.indexOf ('d'): ''
        }
    }
  })
</script>


 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值