一、过滤器作用

过滤器用于进行文本内容格式化处理。

二、过滤器的使用方式

过滤器可以在插值表达式和 v-bind 中使用。

三、过滤器的分类

  • 全局过滤器
  • 局部过滤器

四、全局过滤器

全局过滤器可以在任意Vue实例中使用。

语法书写方式如下:

Vue.filter('过滤器名称',function(value) {
        //逻辑代码
        return '处理结果';
})

注意:示例中的  |   竖线表示管道符。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>15.全局过滤器</title>
</head>
<body>
  <div id="app">
    <p v-bind:title="value | filterA">这是标签</p>
    <p>{{ value | filterA }}</p>
  </div>
  <div id="app2">
    <p v-bind:title="value | filterA">这是标签</p>
    <p>{{ value | filter}}</p>
  </div>
  <script src="../01.vue.js入门/js/vue-2.6.14.js"></script>
  <script>
    Vue.filter('filterA',function (value) {
      return value.split('-').join('');
    })
    new Vue({
      el: '#app',
      data: {
        value: 'a-b-c'
      }
    })
    new Vue({
      el: '#app2',
      data: {
        value: 'a-b-c'
      }
    })
  </script>
</body>
</html>

• 全局过滤器可以将一个数据传入到多个过滤器中进行处理。 

<body>
  <div id="app">
    <p>{{ value | filterA | filterB }}</p>
  </div>
  <script src="../01.vue.js入门/js/vue-2.6.14.js"></script>
  <script>
    Vue.filter('filterA',function (value){
      console.log(value   '  filterA');
      return value.split('-').join('');
    })
    Vue.filter('filterB',function (value) {
      console.log(value   '  filterB');
      return value[0].toUpperCase()   value.slice(1);
    })
    new Vue({
      el: '#app',
      data: {
        value: 'a-b-c'
      }
    })
  </script>
</body>

• 一个过滤器可以传入多个参数。 

 

<body>
  <div id="app">
    <!-- 注意:参数1永远是管道符左边的value -->
    <p>{{ value | filterC('TGW—',200)}}</p>
  </div>
  <script src="../01.vue.js入门/js/vue-2.6.14.js"></script>
  <script>
    Vue.filter('filterC', function(par1,par2,par3) {
      console.log(par1,par2,par3);
      return par2   par1.split('-').join('');
    });
    new Vue({
      el: '#app',
      data: {
        value: 'a-b-c'
      }
    })
  </script>
</body>

五、局部过滤器 

• 局部过滤器只能在当前 Vue 实例中使用。其他的Vue实例中无法访问。

<div id="app">
    <p>{{ content | filterA }}</p>
    <p>{{ content2 | filterA }}</p>
    <p>{{ content | filterA | filterB }}</p>
    <p>{{ content | filterA | filterC('TGW—')}}</p>
  </div>
  <!-- <div id="app2">
    <p>{{ content | filterA }}</p>
  </div> -->
  <script src="../01.vue.js入门/js/vue-2.6.14.js"></script>
  <script>
    new Vue({
      el: '#app',
      data: {
        content: 'a-b-c',
        content2: 'd-e-f'
      },
      filters: {
        filterA: function (value){
          console.log(value);
          return value.split('-').join('')
        },
        filterB: function (value) {
          return value.split('').reverse().join('')
        },
        filterC (value,prefix) {
          return prefix   value;
        }
      }
    })
    // new Vue({
    //   el: '#app2',
    //   data: {
    //     content: 'g-h-i'
    //   }
    // })
  </script>
</body>

六、全局过滤器和局部过滤器重名现象

当我们出现全局过滤器和局部过滤器名字一样时,那么我们再执行的时候,是按照就近原则进行执行的,所以执行的是局部过滤器的代码块。

<body>
  <div id="app">
    <p>{{ content | filterA }}</p>
  </div>
  <script src="../01.vue.js入门/js/vue-2.6.14.js"></script>
  <script>
    Vue.filter('filterA', function (value){
      return value.split('').reverse().join('')
    })
    new Vue({
      el: '#app',
      data: {
        content: 'a-b-c'
      },
      filters: {
        filterA (value) {
          return value.split('-').join('')
        }
      }
    })
  </script>
</body>

总结

本篇文章就到这里了,希望能给您带来帮助,也希望您能够多多关注Devmax的更多内容! 

Vue.js 的过滤器你了解多少的更多相关文章

  1. SpringBoot实现过滤器和拦截器的方法

    大家应该都晓得实现过滤器需要实现 javax.servlet.Filter 接口,而拦截器会在处理指定请求之前和之后进行相关操作,配置拦截器需要两步,本文通过实例代码给大家介绍SpringBoot 过滤器和拦截器的相关知识,感兴趣的朋友一起看看吧

  2. Vue.js 前端路由和异步组件介绍

    这篇文章主要介绍了Vue.js 前端路由和异步组件介绍,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

  3. vue.js出现Vue.js not detected错误的解决方案

    这篇文章主要介绍了vue.js出现Vue.js not detected错误的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  4. 详解AngularJS 过滤器的使用

    AngularJS 过滤器可用于转换数据,这篇文章主要介绍了详解AngularJS 过滤器的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  5. vue.js Table 组件自定义列宽实现核心方法

    这篇文章主要介绍了vue.js Table 组件自定义列宽实现核心方法,文围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

  6. Vue.js和Vue.runtime.js区别浅析

    这篇文章主要介绍了Vue.js和Vue.runtime.js区别浅析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  7. SpringBoot详解shiro过滤器与权限控制

    当shiro被运用到web项目时,shiro会自动创建一些默认的过滤器对客户端请求进行过滤。比如身份验证、授权的相关的,这篇文章主要介绍了shiro过滤器与权限控制

  8. 详解Vue.js Class与Style绑定

    这篇文章主要为大家介绍了Vue.js Class与Style绑定的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

  9. Vue中过滤器定义以及使用方法实例

    过滤器的功能是对要显示的数据进行格式化后再显示,其并没有改变原本的数据,只是产生新的对应的数据,下面这篇文章主要给大家介绍了关于Vue中过滤器定义以及使用方法的相关资料,需要的朋友可以参考下

  10. 利用Vue.js制作一个拼图华容道小游戏

    这篇文章主要为大家详细介绍了如何利用Vue.js编写一个拼图华容道游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部