美文网首页
Vue中的过滤器

Vue中的过滤器

作者: 小丘啦啦啦 | 来源:发表于2019-03-05 17:26 被阅读0次

一、说明
Vue中允许你自定义过滤器,可被用作一些常见文本的格式化。过滤器可以用在两个地方:mustache插值表达式和v-bind指令。过滤器应该被添加在js表达式尾部,由“管道”符指示。用来作输出前最后一次处理,不回去修改原数据。
二、过滤器调用时的格式

//在输出name的值之前,加管道符“|”,调用nameope(即过滤器名称)进行处理,把处理的结果当作内容渲染
{{ name | nameope(arg) }} 

三、全局过滤器的定义
所谓的全局,即所有的Vue实例都共享。

//function即处理过程。
//第一个参数data即为数据(管道符“|”前面的数据,即上面的name);
//第二个参数arg即为过滤器中传入的参数(可多个,即第三个参数。。。)。
Vue.filter('过滤器名称',function(data,arg){});

四、实例

<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    </head>
    <body> 
        <div id="app">  
            <!-- 插值表达式输出前调用msgFormat过滤器进行数据处理,可传入参数 -->
            <!-- 也可多次调用过滤器,继续加管道符加过滤器名 -->
           <p>{{ msg | msgFormat("加油!") | test }}</p>
        </div>
        
        <script>
            /* 定义一个Vue全局的过滤器 */
            Vue.filter('msgFormat',function(msg,arg){
                return msg.replace(/哈/g,'啊')+arg;
            });
            Vue.filter('test',function(msg){
                return msg+"不要将来后悔!";
            });
            
            var vm = new Vue({  
                el:'#app',  
                data:{   
                    msg:'哈哈哈哈哈哈,画画好多东西要学啊!'
                }
            })  
        </script>
    </body>
</html>

五、私有过滤器的定义
定义在Vue对象中,全局和私有重名,优先私有的。
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    </head>
    <body> 
        <div id="app">  
            <!-- 插值表达式输出前调用msgFormat过滤器进行数据处理,可传入参数 -->
            <!-- 也可多次调用过滤器,继续加管道符加过滤器名 -->
           <p>{{ msg | msgFormat("加油!") | test }}</p>
        </div>
        
        <div id="app2">  
            <p>{{ msg | test }}</p>
        </div>
        
        <script>
            /* 定义一个Vue全局的过滤器 */
            Vue.filter('msgFormat',function(msg,arg){
                return msg.replace(/哈/g,'啊')+arg;
            });
            Vue.filter('test',function(msg){
                return msg+"不要将来后悔!";
            });
            
            var vm = new Vue({  
                el:'#app',  
                data:{   
                    msg:'哈哈哈哈哈哈,画画好多东西要学啊!'
                }
            });
            
            var vm2 = new Vue({
                el:"#app2",
                data:{
                    msg:'加油多画画少bb!',
                },
                filters:{
                    test(msg){
                        return msg+"努力!有什么事情想做趁年轻!"
                    }
                }
            });
            
        </script>
    </body>
</html>

相关文章

  • vue 过滤器filter中this为undefined

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

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

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

  • Vue前端面试2021-017

    1、Vue中的过滤器的作用是什么 ?如何声明过滤器? Vue中的过滤器主要是用来按照指定的格式进行数据输出格式渲染...

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

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

  • vue学习大纲3-过滤器、指令、动画

    自定义过滤器: 在vue1.0中有过滤器,比如: 在vue2.0中所有的内置过滤器都被销毁了,2.0推荐我们自己写...

  • Vue 的过滤器

    前言:Vue 中的过滤器(filter)不能替代 Vue 中的 methods、computed 或者 watch...

  • Vue2.0中Filter的使用问题

    vue2.0里,不再有自带的过滤器,需要自己定义过滤器 在 Vue1.0 中内置了几种实用的过滤器函数如 uppe...

  • Vue中自定义过滤器

    导入Vue.js后直接在script中定义 {{ msg | msgFormat }} 同样Vue过滤器名字中可...

  • tool.js

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

  • Vue-04

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

网友评论

      本文标题:Vue中的过滤器

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