ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Vue学习笔记十:过滤器

2019-05-01 09:38:29  阅读:249  来源: 互联网

标签:Vue return 笔记 想象力 msg filtermsg 过滤器


目录

公共过滤器的写法

过滤器的写法还是很简单的 ,如下

<p>{{ msg | filtermsg }}</p>

Vue.filter("filtermsg",function(msg){
    return msg.replace(/想象力/g,'许嵩')
})

filtermsg是过滤器名称,msg使用了filtermsg过滤器,然后filtermsg返回了替换的内容,你也可以写其他的操作

简易过滤器+带参数过滤器+多过滤器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>蜀云泉</title>
    
    <script type="text/javascript" src="../lib/vue-2.6.10.js"></script>
    <link rel="stylesheet" href="../lib/bootstrap.css">

</head>
<body>
    
    <!-- 这个div就是MVVM中的V,View -->
    <div id="app">

        <!-- 最简易的过滤器 -->
        <p>{{ msg | filtermsg }}</p>

        <!-- 加参数的过滤器 -->
        <p>{{ msg | filtermsg2('许嵩','Vae') }}</p>

        <!-- 多个过滤器使用 -->
        <p>{{ msg | filtermsg | test}}</p>

    </div>


    <script>

        Vue.filter("filtermsg",function(msg){
            // replace方法的第一个参数是字符只能替换一个
            // return msg.replace('想象力','许嵩')
            // replace方法的第一个参数可以写正则表达式,这样可以替换所有的相似字符
            return msg.replace(/想象力/g,'许嵩')
        })

        Vue.filter("filtermsg2",function(msg,arg1,arg2){
            return msg.replace(/想象力/g,arg1+arg2)
        })

        Vue.filter("test",function(msg){
            return msg+"啦啦啦啦啦啦"
        })

        // 这个vm就是MVVM中的VM,ViewModel
        var vm=new Vue({
         el: '#app',
        //  这个data就是MVVM中的M,Model
         data: {
             msg:'没有想象力,没有想象力是罪魁,没有想象力,灵感在墓地里沉睡'
         },
         methods: {
         }

        })

    </script>

</body>
</html>

效果图

私有过滤器

上面的都是公有的过滤器,下面介绍私有的过滤器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>蜀云泉</title>
    
    <script type="text/javascript" src="../lib/vue-2.6.10.js"></script>
    <link rel="stylesheet" href="../lib/bootstrap.css">

</head>
<body>
    
    <!-- 这个div就是MVVM中的V,View -->
    <div id="app">

        <p>{{ msg | test}}</p>

    </div>


    <script>

        Vue.filter("test",function(msg){
            return msg+"啦啦啦啦啦啦"
        })

        // 这个vm就是MVVM中的VM,ViewModel
        var vm=new Vue({
         el: '#app',
        //  这个data就是MVVM中的M,Model
         data: {
             msg:'没有想象力,没有想象力是罪魁,没有想象力,灵感在墓地里沉睡'
         },
         methods: {
         },
         filters:{
            test:function(msg){
            return msg+"略略略略略"
            }
         }

        })

    </script>

</body>
</html>

没错,所谓的私有过滤器就是在Vue下新加一个filters对象,写法都在上面了

现在有一个公有的过滤器test和一个私有的过滤器test,两个名称一样,那使用哪个呢?看图

很明显,如果公有过滤器和私有过滤器名称一样的话,先使用私有的过滤器

防盗链接:本博客由蜀云泉发表

标签:Vue,return,笔记,想象力,msg,filtermsg,过滤器
来源: https://www.cnblogs.com/yunquan/p/10799175.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有