Vue.js 基础学习之过滤器

Posted 胡卓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue.js 基础学习之过滤器相关的知识,希望对你有一定的参考价值。

过滤器:filter

格式化变量的输出内容,只用于一些简单的在制作的最后一步对内容的输出格式做些调整(如日期格式化,字母大小写,数字再计算等等)

例如我们需要将最终的结果字符串以大写方式展示出来,还有将小数转化成百分比之后再显示出来

<div id="app">
        <input type="text" v-model=‘message‘> {{ message | toupper }}
        <br />
        <input type="text" v-model=‘num‘> {{ num | toprecentage }}
    </div>
<script>
    new Vue({
        el : ‘#app‘,
        data: {
            message: ‘hello world !‘,
            num: 0.3,
        },
        filters : {
            toupper : function(val){
                return val = val.toUpperCase();
            },
            toprecentage : function(val) {
                return val = val * 100 + ‘%‘;
            }
        }
    });
</script>

过滤器时通过一个 | 符号来实现的,| 前面的是需要处理的值,后面是过滤器的名称,在new Vue()中的filters中添加这些过滤器并写明处理方法就可以了,在处理方法function中可以有2个参数,第一个参数val就是 | 前面的这个值,第二个参数是同时需要传递进来的值,例如:在一个显示钱币单位的例子中

<div id="app">
        <input type="text" v-model.number=‘num‘>{{ num | currency(unit) }}
    </div>
<script>
    new Vue({
        el : ‘#app‘,
        data: {
            num : 10 ,
            unit : ‘元‘,
        },
        filters : {
            currency : function(val ,unit){
                 val = val || 0; 
                 unit = unit || ‘元‘;
                 return val + unit;
            }
        }
    });
</script>

上面这个例子可以通过改变data中的对应的值来改变钱币数和单位,用到了2个参数,第二个参数的传递也很简单。

以上是关于Vue.js 基础学习之过滤器的主要内容,如果未能解决你的问题,请参考以下文章

Vue.js 基础学习之混合mixins

Vue.js学习之组件

vue.js学习之组件数据流详解

Vue.js学习之条件v-if和列表循环v-for详解

vue.js学习之 跨域请求代理与axios传参

vue.js 学习之模板语法详解