美文网首页
Vue过滤器

Vue过滤器

作者: hhaann | 来源:发表于2019-12-20 19:00 被阅读0次

假设场景:将长度单位厘米转化为米。

若传来的数据如图所示,要将其中的数字转化为米。那在没有过滤器的情况下,需要我们循环 lengthArr 数组,将原数据转化为具体需要的数据。而 Vue 提供了过滤器,可以让这问题得以更好的解决。

过滤器(filter)的作用

  1. 在不改变 data 的情况下,只改变渲染的结果,得到渲染后的结果。
  2. 在处理前端数据格式时,保持响应的干净。

使用方式

<!-- 在双花括号中 -->
{{ message | capitalize }}

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

自定义过滤器

定义过滤器有两种方式。第一种是全局过滤器,它可以直接在vue对象上使用filter方法注册过滤器,这种全局注册的过滤器在任何一个组件内都可以使用。第二种则是组件内部的过滤器,注册组件内部过滤器则只能在当前组件内使用。当全局过滤器和局部过滤器重名时,会采用局部过滤器。

全局定义

html部分

{{ message | capitalize  }} // capitalize 为过滤器的名字

js部分

Vue.filter('capitalize',function(data){
    ....
})

1、在 Vue.filter('capitalize',function(data){}) 中,第一个参数是过滤器的名字,第二个参数是过滤器的功能函数。

2、在功能函数 function(data){} 中,参数可以有多个,第一个参数是传入的要过滤数据,即原数据。第二个参数开始就是html调用过滤器的时候传入的参数。

局部定义

html部分

{{ message | capitalize }} // capitalize 为过滤器的名字

js部分

filters:{
    capitalize:function (data){
        ...         
    }   
}

例子:
html代码

<div class="demo">
    <p v-for="item in lengthArr">{{item.millimeter}}mm ==> {{item.millimeter | meterChange}}</p>
</div>

js代码

Vue.filter('meterChange', function(val, unite) {
    val = val/1000 || 0;
        if(val) {
            unite = 'm';
            return val + unite
        }
    return
});
new Vue({
    el: ".demo",
        data: {
            lengthArr: [
                {millimeter: 10000},
                {millimeter: 1000},
                {millimeter: 100},
            ],
        }
})

效果:


相关文章

  • tool.js

    vue时间格式过滤器(今天,昨天,周几,年月日) vue金额过滤器 手机横屏签名功能(vue)

  • 6.Vue过滤器

    Vue过滤器: vue过滤器使用管道 | 进行调用,如:{{name | myFilter}},如果需要传入参数...

  • Vue-04

    过滤器:对显示在页面上的数据进行筛选 全局过滤器 和Vue同级 Vue.filter(“过滤器名称”,func...

  • vue自定义过滤器

    Vue的自定义过滤器有两种:全局过滤器和内部过滤器全局过滤器定义在vue实例化之前 内部过滤器注册在实例内部,仅在...

  • 9.自定义vue全局过滤器

    1.Vue.filter('过滤器名字',过滤器函数):

  • vue 过滤器做字数限制并显示省略号

    定义过滤器 使用vue中的 过滤器filters

  • 关于angular与vue在过滤器方面的不同

    目前看来,angular与vue在过滤器方面差异较大,总的来说angular的过滤器较简单方便,vue的过滤器更像...

  • vue 过滤器filter中this为undefined

    vue过滤器filters 中this为undefined 可以使用computed解决: vue中的过滤器更偏向...

  • Vue过滤器和vue-resource

    过滤器 之前我们学习了Vue的 vue基本指令 进阶学习,我们需要了解Vue的过滤器:Vue.js允许你自定义过滤...

  • vue之自定义过滤器(六)

    一、过滤器介绍:1、在Vue中会通过过滤器(Filters)来渲染数据,使视图可读性更加优雅。2、Vue中的过滤器...

网友评论

      本文标题:Vue过滤器

      本文链接:https://www.haomeiwen.com/subject/xsgvnctx.html