Vue 过滤器入门
-
-
过滤器可以用在两个地方:双花括号插值和 v-bind 表达式
-
过滤器应该被添加在JavaScript表达式的尾部,由“管道”符号指示
-
支持级联操作
-
过滤器不改变真正的
data
,而只是改变渲染的结果,并返回过滤后的版本 -
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <div id= "app" > <input type= "text" v-model= 'msg' > <!-- upper 被定义为接收单个参数的过滤器函数,表达式 msg 的值将作为参数传入到函数中 --> <div>{{msg | upper}}</div> <!-- 支持级联操作 upper 被定义为接收单个参数的过滤器函数,表达式msg 的值将作为参数传入到函数中。 然后继续调用同样被定义为接收单个参数的过滤器 lower ,将upper 的结果传递到lower中 --> <div>{{msg | upper | lower}}</div> <div :abc= 'msg | upper' >测试数据</div> </div> <script type= "text/javascript" > // lower 为全局过滤器 Vue.filter( 'lower' , function (val) { return val.charAt(0).toLowerCase() + val.slice(1); }); var vm = new Vue({ el: '#app' , data: { msg: '' }, //filters 属性 定义 和 data 已经 methods 平级 // 定义filters 中的过滤器为局部过滤器 filters: { // upper 自定义的过滤器名字 // upper 被定义为接收单个参数的过滤器函数,表达式 msg 的值将作为参数传入到函数中 upper: function (val) { // 过滤器中一定要有返回值 这样外界使用过滤器的时候才能拿到结果 return val.charAt(0).toUpperCase() + val.slice(1); } } }); </script> |
过滤器中传递参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <div id= "box" > <!-- filterA 被定义为接收三个参数的过滤器函数。 其中 message 的值作为第一个参数, 普通字符串 'arg1' 作为第二个参数,表达式 arg2 的值作为第三个参数。 --> {{ message | filterA( 'arg1' , 'arg2' ) }} </div> <script type= "text/javascript" > // 在过滤器中 第一个参数 对应的是 管道符前面的数据 n 此时对应 message // 第2个参数 a 对应 实参 arg1 字符串 // 第3个参数 b 对应 实参 arg2 字符串 Vue.filter( 'filterA' , function (n,a,b){ if (n<10){ return n+a; } else { return n+b; } }); new Vue({ el: "#box" , data:{ message: "---msg---" } }) </script> |
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
· 优雅求模,一致性哈希算法
· 解疑释惑 - 日志体系之 slf4j + logback 组合(一)
· 平滑加权轮询负载均衡的底层逻辑
· C# 13 与 .NET 9 跨平台开发实战 - 第一章
· DDD领域驱动设计的理解
· 婶可忍叔不可忍的AutoMapper,你还用吗?
· Git提交错了,别慌!还有后悔药
· 《HelloGitHub》第 113 期
· 开源一套Microsoft Office COM 组件的 .NET 封装
· ElasticSearch是什么?