第十五课 Vue中的过滤器

Vue中的过滤器

Vue2.0以后废除了原始的过滤器,我们可以通过自定义过滤器去进行过滤

自定义过滤器通过属性filter去拓展

基础示例:

复制代码
    <div id="app">
        <h1>{{val | test}}</h1>
    </div>
    <script>
            new Vue({
                el: '#app',
                data: {
                    val: 10
                },
                filters: {
                    test(val){
                         return val > 100? '当前值大于100': '当前值不大于100'
                    }
                }
            })
    </script>  

自定义单向过滤器

1) 通过构造函数构建过滤器

大小写过滤

复制代码
    <div id="app">
        <input type="text" v-model="val">
        原始输入内容:<h1>{{val}}</h1>
        将大写英文转成小写:<h1>{{val | lowCase}}</h1>
        将小写英文转换成大写:<h1>{{val | upCase}}</h1>
    </div>
    <script>
            new Vue({
                el: '#app',
                data: {
                    val: 'Hello World !'
                },
                filters: {
                    lowCase(val){
                         return val.toLowerCase();
                    },
                    upCase(val){
                         return val.toUpperCase();
                    }
                }
            })
    </script> 

2)通过外部单独拓展过滤器

复制代码
<div id="app">
    <input type="text" v-model="val">
    原始输入内容:<h1>{{val}}</h1>
    将大写英文转成小写:<h1>{{val | lowCase}}</h1>
    将小写英文转换成大写:<h1>{{val | upCase}}</h1>
</div>
<script>
        Vue.filter('lowCase', function(val){
            return val.toLowerCase();
        });

        Vue.filter('upCase', function(val){
            return val.toUpperCase();
        })

        new Vue({
            el: '#app',
            data: {
                val: 'Hello World !'
            }
        })
</script>
  1. 关于参数值传递

fiter过滤器默认值第一位是当前的过滤参数,如果在过滤器传入参数,直接在参数集中传入其他参数即可

复制代码
<div id="app">
    原始输入内容:<h1>{{val | deal('Hello ', 'World !')}}</h1>
</div>
<script>
    new Vue({
        el: '#app',
        data: {
            val: 'Bob'
        },
        filters: {
            deal(val, before, after){
                console.log(val);
                console.log(before);
                console.log(after);
                return before + val + after;
            }
        }
    })
</script> 
相关推荐
L耀早睡6 分钟前
mapreduce打包运行
大数据·前端·spark·mapreduce
咖啡の猫7 分钟前
JavaScript基础-创建对象的三种方式
开发语言·javascript·ecmascript
MaCa .BaKa18 分钟前
38-日语学习小程序
java·vue.js·spring boot·学习·mysql·小程序·maven
HouGISer19 分钟前
副业小程序YUERGS,从开发到变现
前端·小程序
outstanding木槿25 分钟前
react中安装依赖时的问题 【集合】
前端·javascript·react.js·node.js
小吕学编程1 小时前
Jackson使用详解
java·javascript·数据库·json
霸王蟹1 小时前
React中useState中更新是同步的还是异步的?
前端·javascript·笔记·学习·react.js·前端框架
霸王蟹1 小时前
React Hooks 必须在组件最顶层调用的原因解析
前端·javascript·笔记·学习·react.js
专注VB编程开发20年1 小时前
asp.net IHttpHandler 对分块传输编码的支持,IIs web服务器后端技术
服务器·前端·asp.net
爱分享的程序员2 小时前
全栈项目搭建指南:Nuxt.js + Node.js + MongoDB
前端