返回顶部
首页 > 资讯 > 前端开发 > node.js >Vue.js学习之过滤器的示例分析
  • 304
分享到

Vue.js学习之过滤器的示例分析

2024-04-02 19:04:59 304人浏览 八月长安
摘要

这篇文章给大家分享的是有关vue.js学习之过滤器的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Vue.Js中的过滤器基础过滤器是一个通过输入数据,能够及时对数据进行处

这篇文章给大家分享的是有关vue.js学习之过滤器的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Vue.Js中的过滤器基础

过滤器是一个通过输入数据,能够及时对数据进行处理并返回一个数据结果的简单函数。Vue有很多很便利的过滤器,可以参考官方文档, Http://cn.vuejs.org/api/#过滤器 ,过滤器通常会使用管道标志 “ | ”, 比如:

{{ msg | capitalize }}
// 'abc' => 'ABC'

uppercase过滤器 : 将输入的字符串转换成大写字母的过滤器。

VueJs允许你链式调用过滤器,简单的来说,就是一个过滤器的输出成为下一个过滤器的输入,然后再次过滤。接下来,我们可以想象一个比较简单的例子,使用了Vue的 filterBy + orderBy 过滤器来过滤所有商品products。过滤出来的产品是属于水果类商品。

filterBy过滤器 : 过滤器的值必须是一个数组,filterBy + 过滤条件。过滤条件是:'string || function'+ in 'optionKeyName'

orderBy过滤器 : 过滤器的值必须是一个数组,orderBy + 过滤条件。过滤条件是:'string || array ||function' + 'order ≥ 0 为升序 || order < 0 为降序'

接下来,我们可以看下下面这个例子:我们有一个商品数组products,我们希望遍历这个数组,并把他们打印成一张清单,这个用v-for很容易实现。

<ul class="product">
 <li v-for="product in products|filterBy '水果' in 'cateGory' |orderBy 'price' 1">
 {{product.name}}-{{product.price | currency}}
 </li>
</ul>

上面的例子,就是用filterBy 过滤在 'category'中含有'水果' 关键字的列表,返回的列表就是只含有 '水果' 关键字的列表,而orderBy过滤器是根据价格做了一个升序,如果想要降序,只需要加一个小于0的参数;

自定义过滤器

虽然VueJs给我们提供了很多强有力的过滤器,但有时候还是不够。值得庆幸的,Vue给我们提供了一个干净简洁的方式来定义我们自己的过滤器,之后我们就可以利用管道 “ | ” 来完成过滤。

定义一个全局的自定义过滤器,需要使用Vue.filter()构造器。这个构造器需要两个参数。

Vue.filter() Constructor Parameters:

      1.filterId: 过滤器ID,用来做为你的过滤器的唯一标识;

      2.filter function: 过滤器函数,用一个function来接收一个参数,之后再将接收到的参数格式化为想要的数据结果。

上面的例子中,我们要实现商品价格打5折该怎么做呢?其实就是实现的一个自定义的过滤器,表示将商品的价格打了5折;而要实现它,需要完成的是:

      a、使用Vue.filter()构造器创建一个过滤器叫做discount

      b、输入商品的原价,能够返回其打五折之后的折扣价

代码见下面:

Vue.filter('discount', function(value) {
 return value * .5;
});
var product = new Vue({
 el: '.product',
 data: {
 products: [
  {name: '苹果',price: 25,category: "水果"}, 
  {name: '香蕉',price: 15,category: "水果"}, 
  {name: '雪梨',price: 65,category: "水果"}, 
  {name: '宝马',price: 2500,category: "汽车"},
  {name: '奔驰',price: 10025,category: "汽车"}, 
  {name: '柑橘',price: 15,category: "水果"}, 
  {name: '奥迪',price: 25,category: "汽车"}
 ]
 },
})

现在就可以像使用Vue自带的过滤器一样使用自定义过滤器了

<ul class="product">
 <li v-for="product in products|filterBy '水果' in 'category' |orderBy 'price' 0">
 {{product.name}}-{{product.price|discount | currency}}
 </li>
</ul>

上面代码实现的商品打5折,而如果要实现价格打任意折扣呢?应该在discount过滤器里增加一个折扣数值参数,改造一下我们的过滤器。

Vue.filter('discount', function(value, discount) {
 return value * (discount / 100);
});

然后重新调用我们的过滤器

<ul class="product">
 <li v-for="product in products|filterBy '水果' in 'category' |orderBy 'price' 0">
 {{product.name}}-{{product.price|discount 25 | currency}}
 </li>
</ul>

我们也可以在我们Vue实例里构造我们的过滤器,这样构造的好处是,这样就不会影响到其他不需要用到这个过滤器的Vue实例。


var product = new Vue({
 el: '.product',
 data: {
 products: [
  {name: '苹果',price: 25,category: "水果"}, 
  {name: '香蕉',price: 15,category: "水果"}, 
  {name: '雪梨',price: 65,category: "水果"}, 
  {name: '宝马',price: 2500,category: "汽车"},
  {name: '奔驰',price: 10025,category: "汽车"}, 
  {name: '柑橘',price: 15,category: "水果"}, 
  {name: '奥迪',price: 25,category: "汽车"}
 ]
 },
 //自定义在实例
 filters: {
 discount: function(value, discount) {
  return value * (discount / 100);
 }
 }
})

定义在全局就能在所有的实例中调用过滤器,如果定义在了实例里就在实例里调用过滤器。

感谢各位的阅读!关于“Vue.js学习之过滤器的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Vue.js学习之过滤器的示例分析

本文链接: https://lsjlt.com/news/69434.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue.js学习之过滤器的示例分析
    这篇文章给大家分享的是有关Vue.js学习之过滤器的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Vue.Js中的过滤器基础过滤器是一个通过输入数据,能够及时对数据进行处...
    99+
    2024-04-02
  • AngularJs之过滤器filter的示例分析
    这篇文章主要介绍了AngularJs之过滤器filter的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。过滤器(filter)正如其...
    99+
    2024-04-02
  • angular ui-grid之过滤器设置的示例分析
    这篇文章主要为大家展示了“angular ui-grid之过滤器设置的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“angular ui-grid之过滤...
    99+
    2024-04-02
  • vue过滤器filter的示例分析
    这篇文章将为大家详细讲解有关vue过滤器filter的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vue的过滤器一般在JavaScript 表达式的尾部,由“|...
    99+
    2024-04-02
  • jQuery选择器之属性过滤选择器的示例分析
    小编给大家分享一下jQuery选择器之属性过滤选择器的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下<...
    99+
    2024-04-02
  • Python全栈之学习JQuery的示例分析
    这篇“Python全栈之学习JQuery的示例分析”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“Python全栈之学习JQuery的示例分析”,小编整理了以下知识点,请大家跟着小编的步伐一步一...
    99+
    2023-06-29
  • Python全栈之学习HTML的示例分析
    这篇“Python全栈之学习HTML的示例分析”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“Python全栈之学习HTML的示例分析”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇...
    99+
    2023-06-29
  • Python机器学习之AdaBoost算法的示例分析
    这篇文章将为大家详细讲解有关Python机器学习之AdaBoost算法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、算法概述AdaBoost 是英文 Adaptive Boosting(自适...
    99+
    2023-06-15
  • vue.js过渡css类名的示例分析
    这篇文章主要为大家展示了“vue.js过渡css类名的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue.js过渡css类名的示例分析”这篇文章吧。首...
    99+
    2024-04-02
  • python机器学习之神经网络的示例分析
    这篇文章主要介绍了python机器学习之神经网络的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python可以做什么Python是一种编程语言,内置了许多有效的工具...
    99+
    2023-06-14
  • Python机器学习之逻辑回归的示例分析
    这篇文章主要介绍了Python机器学习之逻辑回归的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Python主要用来做什么Python主要应用于:1、Web开发;2、...
    99+
    2023-06-15
  • Vue.js分发之作用域槽的示例分析
    这篇文章将为大家详细讲解有关Vue.js分发之作用域槽的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先,需要知道的是,每个组件有每个组件自己的作用域。每个组件...
    99+
    2024-04-02
  • Python机器学习之PCA降维算法的示例分析
    小编给大家分享一下Python机器学习之PCA降维算法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、算法概述主成分分析 (Principal Com...
    99+
    2023-06-15
  • Angular.js基础学习之初始化的示例分析
    这篇文章将为大家详细讲解有关Angular.js基础学习之初始化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、绑定初始化,自动加载通过绑定来进行angula...
    99+
    2024-04-02
  • Vue.js之slot深度复制的示例分析
    这篇文章给大家分享的是有关Vue.js之slot深度复制的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言在Vue中,slot是一个很有用的特性,可以用来向组件内部插入...
    99+
    2024-04-02
  • EasyUI中TreeGrid过滤功能的示例分析
    小编给大家分享一下EasyUI中TreeGrid过滤功能的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!写在最前面这个星期一直在纠结easyui的treegrid的过滤功能,原因呢...
    99+
    2024-04-02
  • Android初学习之intent-filter意图过滤器
    浅谈 intent filter对activity组件的应用 Intent Filter就是用来注册 Activity 、Service 、 B...
    99+
    2022-06-06
    filter 过滤器 学习 intent Android
  • Django模板过滤器和继承示例分析
    本篇内容主要讲解“Django模板过滤器和继承示例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Django模板过滤器和继承示例分析”吧!模板过滤器定义:在变量输出时对变量的值进行处理作用:...
    99+
    2023-06-25
  • Python机器学习中pandas的示例分析
    小编给大家分享一下Python机器学习中pandas的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python的五大特点是什么python的五大特点:1...
    99+
    2023-06-15
  • Vue.js源码分析之自定义指令的示例分析
    这篇文章给大家分享的是有关Vue.js源码分析之自定义指令的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作