Vue第五天---Vue过滤器

简介: Vue第五天---Vue过滤器

Vue过滤器


1.过滤器的基本使用


Vue允许自定义过滤器,可被用于一些常见的文本格式化。

过滤器可以用在两个地方:双大括号表达式v-bind表达式

过滤器应该被添加在js表达式尾部,由|指示

例如


{{message|myVue}}
 <div v-bind:id="rawId|format"></div>
复制代码


过滤器分为两种:全局过滤器局部过滤器


2.全局过滤器


如果各种地方都要使用一个过滤器,那就定义全局过滤器(也就是过滤器定义在Vue实例之前)


<!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>全局过滤器 demo</title>
     <script src="../../easy_start/js/vue.js" type="text/javascript" charset="UTF-8"></script>
 </head>
 <body>
 <div id="app">
 </div>
 <script type="text/javascript">
     let App={
         template: '<div><input type="text" v-model="text">{{text|myvue("Hi","Shelgi")}}</div>',
         data(){
             return {
                 text:''
             }
         }
     }
     Vue.filter('myvue',function (val1,val2,val3){
         return val2+val3+': '+val1.split('').reverse().join('');
     })
     new Vue({
         el:'#app',
         components:{'app':App},
         template:'<app />'
     })
 </script>
 </body>
 </html>
复制代码


image.png

3.局部过滤器


局部过滤器与全局过滤器使用方法上一样,唯一的区别就是局部过滤器是定义在Vue实例中的,作用域也就是Vue实例的作用域


<!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>局部过滤器 demo</title>
     <script src="../../easy_start/js/vue.js" type="text/javascript" charset="UTF-8"></script>
 </head>
 <body>
 <div id="app">
 </div>
 <script type="text/javascript">
     let App= {
         template: '<div><input type="text" v-model="text">{{text|myvue}}</div>',
         data() {
             return {
                 text: '',
             };
         },
         filters: {
             myvue: function (val) {
                 return 'Hi Shelgi';
             }
         }
     }
     new Vue({
         el:"#app",
         components:{'app':App},
         template:'<app />'
     })
 </script>
 </body>
 </html>
复制代码


image.png


虽然我使用了v-model进行双向绑定,但是input输入的内容不会对右边产生影响,这说明过滤器中显示的是myvue函数的返回值。


4.JSON


JSON是一种轻量级的数据交换格式,JSON是js对象的字符串表示法,使用文本表示一个js对象的信息,本质还是一个字符串


  • 可以通过HTTP请求获取:this.$http.get('xxx.json')
  • require运行时加载:require(xxx.json)
  • import编译时输出接口:import xxx from 'xxx.json'
    5.currency
    主要作用就是实现货币的过滤方式
    6. 双向过滤器
    普通过滤器用在一般元素上,数据由Model到View,只可以读;双向过滤器用在表单元素上,数据双向流动,可读可写
    不幸的
    上面写了很多关于过滤器的内容,但是在Vue3.x中,过滤器已经被移除,官方觉得过滤器需要自定义语法,打破了{{}}中只是js的假设,为了降低学习实现成本,就在新版本中将它移除了。取而代之的是建议使用方法调用计算属性来代替


<!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>Vue3.x 过滤器demo</title>
     <script src="../../easy_start/js/vue.js" type="text/javascript" charset="UTF-8"></script>
 </head>
 <body>
 <div id="app">
     <p>{{demo}}</p>
 </div>
 <script type="text/javascript">
     var vm=new Vue({
         el:'#app',
         data:{
             data:'aaa'
         },
         computed:{
             demo(){
                 return '过滤器'+this.data
             }
         }
     })
 </script>
 </body>
 </html>
复制代码


image.png

当我们需要注册全局过滤器的时候,就必须使用全局属性才能让它被所有组件使用,并且这个方法只适用于方法,计算属性必须依赖Vue实例所以不能作为全局属性注册。

目录
相关文章
|
1月前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
1月前
|
JavaScript 前端开发 开发者
vue 数据驱动视图
总之,Vue 数据驱动视图是一种先进的理念和技术,它为前端开发带来了巨大的便利和优势。通过理解和应用这一特性,开发者能够构建出更加动态、高效、用户体验良好的前端应用。在不断发展的前端领域中,数据驱动视图将继续发挥重要作用,推动着应用界面的不断创新和进化。
|
6天前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
1月前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱前端的大一学生,专注于JavaScript与Vue,正向全栈进发。博客分享Vue学习心得、命令式与声明式编程对比、列表展示及计数器案例等。关注我,持续更新中!🎉🎉🎉
39 1
vue学习第一章
|
1月前
|
JavaScript 前端开发 索引
vue学习第三章
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中的v-bind指令,包括基本使用、动态绑定class及style等,希望能为你的前端学习之路提供帮助。持续关注,更多精彩内容即将呈现!🎉🎉🎉
30 1
|
1月前
|
缓存 JavaScript 前端开发
vue学习第四章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中计算属性的基本与复杂使用、setter/getter、与methods的对比及与侦听器的总结。如果你觉得有用,请关注我,将持续更新更多优质内容!🎉🎉🎉
38 1
vue学习第四章
|
1月前
|
JavaScript 前端开发 开发者
Vue是如何劫持响应式对象的
Vue是如何劫持响应式对象的
29 1
|
1月前
|
JavaScript 前端开发 API
介绍一下Vue中的响应式原理
介绍一下Vue中的响应式原理
32 1
|
1月前
|
JavaScript 前端开发 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
1月前
|
存储 JavaScript 前端开发
介绍一下Vue的核心功能
介绍一下Vue的核心功能