过滤器
Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。
过滤器作用:双花括号插值和 v-bind
表达式 (后者从 2.1.0+ 开始支持)。
过滤器使用:过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示:
1 2 3 4 5 | <!-- 在双花括号中 --> {{ message | capitalize }} <!-- 在 `v-bind` 中 --> < div v-bind:id="rawId | formatId"></ div > |
一、局部过滤器的使用
在一个组件中定义局部(本地)过滤器:Vue.filters()。
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 | <body> <div id= "app" > <input type= "text" v-model= "price" > <!--v-model双向绑定--> <h3>{{price | currentPrice}}</h3> <!--2.使用过滤器:currentPrice是过滤器的名字--> </div> <script type= "text/javascript" src= "./vue.js" ></script> <script type= "text/javascript" > new Vue({ el: '#app' , data() { return { price:0 // 默认是0 } }, // 局部过滤器:1.在当前组件中声明过滤器 filters: { // Vue实例中声明,是一个局部过滤器 currentPrice: function (value) { console.log(value); return '$' + value; // 过滤器默认在前面添加$ } } }) </script> </body> |
显示效果如下所示:
在这个例子中,currentPrice被定义为接收单个参数的过滤器函数,表达式 price 的值将作为参数传入到函数中。
二、全局过滤器的使用
在创建Vue实例前定义全局过滤器:Vue.filter()。第一个参数是过滤器的名字,第二个参数是执行的操作。
<body> <div id="app"> <input type="text" v-model="price"> <!--v-model双向绑定--> <h3>{{price | currentPrice}}</h3> <h4>{{msg | reverse}}</h4> <!--2.使用全局过滤器--> </div> <script type="text/javascript" src="./vue.js"></script> <script type="text/javascript"> // 1.声明全局的过滤器 Vue.filter('reverse', function (value) { return value.split('').reverse().join('') // 通过空格分隔和合并 }); new Vue({ el: '#app', data() { return { price:0, // 默认是0 msg:"hello luffy" } }, // 局部过滤器:在当前组件中声明过滤器 filters: { // Vue实例中声明,是一个局部过滤器 currentPrice:function (value) { console.log(value); return '$' + value; // 过滤器默认在前面添加$ } } }) </script> </body>
显示效果如下所示:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术