iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue中内置过滤器怎么用
  • 644
分享到

vue中内置过滤器怎么用

2024-04-02 19:04:59 644人浏览 薄情痞子
摘要

小编给大家分享一下Vue中内置过滤器怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言vue中过滤器filters的作用是

小编给大家分享一下Vue中内置过滤器怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

前言

vue中过滤器filters的作用是什么?

过滤器是一个通过输入数据,能够及时对数据进行处理并返回一个数据结果的简单函数。Vue有很多很便利的过滤器,可以参考官方文档。

能够帮我们处理快速一些数据的格式----fORMat数据格式化处理。

语法也很简单

{{ message | Filter }}
  • message: 要格式化的数据

  • Filter: 对数据格式化的方法

链式过滤

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

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

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

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

<li v-for="product in products">
 {{ product.name | capitalize }} - {{ product.price | currency }}
</li>

capitalize过滤器 : 将输入的字符串首字母转换成大写字母的过滤器。currency过滤器 : 将输入的数字转换成现金的过滤器。可以跟上货币符号(默认$)和保留的小数位(默认2)。

利用上面的两个过滤器,能够很好的把一个JSON数组的商品清单格式化成通熟易懂的商品价格清单。

如果只想要电器类商品,可以在v-for上加过滤条件:

<li v-for="product in products | filterBy 'electronics' in 'cateGory' ">
 {{ product.name | capitalize }} - {{ product.price | currency }}
</li>

上面的例子,就是用filterBy 过滤在 'category'中含有'electronics' 关键字的列表,返回的列表就是只含有 'electronics' 关键字的列表。

如果想要多个搜索条件:

<li v-for="product in products | filterBy 'electronics' in 'category' 'name' ">
 {{ product.name | capitalize }} - {{ product.price | currency }}
</li>

上面的例子,就是用filterBy 过滤在 'category' 和 'name' 中含有'electronics' 关键字的列表。

最后我们还需要将这个列表用字母进行排序。我们可以在 filterBy 过滤器的基础上,链式调用orderBy 过滤器。

<ul>
 <li v-for="product in products
   | filterBy 'electronics' in 'category'
   | orderBy 'name' "
 >
  {{ product.name | capitalize }} - {{ product.price | currency }}
 </li>
</ul>

orderBy 的排序方式默认是升序,如果想要降序,只需要加一个小于0的参数:

<li v-for="product in products
  | filterBy 'electronics' in 'category'
  | orderBy 'name' -1 "
>

下面看看vue自带过滤器有哪些,并附带小示例。最后记得看看如果自定义过滤器哦!

vue自带的过滤器

capitalize(首字母大写)

<div class="test">
 {{message | capitalize}}
</div>

<script type="text/javascript">
var myVue = new Vue({
 el: ".test",
 data: {
 message: "javan"
 }
})
</script>

上面代码输出:Javan

uppercase(全部大写)

// 初始message:abc

{{message | uppercase}}

// 上面代码输出:ABC

lowercase(全部小写)

// 初始message:ABC

{{message | lowercase}}

// 上面代码输出:abc

currency(输出金钱以及小数点)

<div class="test">
 {{message | currency}} // 输出$520.13
 {{message | currency '&yen;' "2"}} //输出 $520.13
</div>
<script type="text/javascript">
 var myVue = new Vue({
 el: ".test",
 data: {
  message: "520.1314"
 }
 })
</script>

第一个参数 {String} [货币符号] - 默认值: '$'
第二个参数 {Number} [小数位] - 默认值: 2

pluralize(变复数)

如果只有一个参数,复数形式只是简单地在末尾添加一个 “s”。如果有多个参数,参数被当作一个字符串数组,对应一个、两个、三个…复数词。如果值的个数多于参数的个数,多出的使用最后一个参数。

<div class="test">
 {{message}} {{message | pluralize 'item'}} 输出: 1 item
 <ul v-for="item in lili">
 <li>
  {{item}} {{item | pluralize 'item'}}
  输出: 1 item 2 items 3 items
 </li>
 </ul>

 <ul v-for="item in lili">
 <li>
  {{item}} {{item | pluralize 'st' 'rd'}}
  输出: 1 st 2 rd 3 rd
 </li>
 </ul>

 <ul v-for="item in man">
 <li>
  {{item}} {{item | pluralize 'item'}}
  输出: 1 item 2 items 3 items
 </li>
 </ul>

 <ul v-for="item in man">
 <li>
  {{item}} {{item | pluralize 'st' 'rd'}}
  输出: 1 st 2 rd 3 rd
 </li>
 </ul>
</div>
<script type="text/javascript">
 var myVue = new Vue({
 el: ".test",
 data: {
  message: 1,
  lili: [1,2,3],
  man: {
  name1: 1,
  name2: 2,
  name3: 3
  }
 }
 })
</script>

debounce(事件延时)

1) 限制: 需在@里面使用
2) 参数:{Number} [wait] - 默认值: 300
3) 功能:包装处理器,让它延迟执行 x ms, 默认延迟 300ms。包装后的处理器在调用之后至少将延迟 x ms, 如果在延迟结束前再次调用,延迟时长重置为 x ms。

<div class="test">
 <button id="btn" @click="doSomeThing | debounce 10000">点击我</button>
</div>
<script type="text/javascript">
 var myVue = new Vue({
 el: ".test",
 methods: {
  doSomeThing: function () {
  // do something
  }
 }
 })
</script>

limitBy(排序)

1) 限制:需在v-for(即数组)里面使用

第一个参数:{Number} 取得数量

第二个参数:{Number} 偏移量

<div class="test">
 <ul v-for="item in lili | limitBy 10">
 <li>{{item}}</li>
 输出1 2 3 4 5 6 7 8 9 10
 </ul>
 <ul v-for="item in lili | limitBy 10 3">
 <li>{{item}}</li>
 输出 4 5 6 7 8 9 10 11 12 13
 </ul>
</div>
<script type="text/javascript">
 var myVue = new Vue({
 el: ".test",
 data: {
  lili: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
 }
 })
</script>

filterBy(过滤)

1) 限制:需在v-for(即数组)里面使用

第一个参数: {String | Function} 需要搜索的字符串

第二个参数: in (可选,指定搜寻位置)

第三个参数: {String} (可选,数组格式)

<div class="test">
 <ul v-for="item in lili | filterBy 'o' ">
 <li>{{item}}</li>
 输出oi oa lo ouo oala
 </ul>
 <ul v-for="item in man | filterBy 'l' in 'name' ">
 <li>{{item.name}}</li>
 输出lily lucy
 </ul>
 <ul v-for="item in man | filterBy 'l' in 'name' 'dada' ">
 <li>{{item.name+"+"+item.dada}}</li>
 输出lily+undefined lucy+undefined undefined+lsh
 </ul>
</div>
<script type="text/javascript">
var myVue = new Vue({
 el: ".test",
 data: {
 lili: ["oi", "oa", "ll", "lo" ,"ouo" ,"kk" ,"oala"],
 man: [ //此处注意man是数组,不是对象
 {name: "lily"},
 {name: "lucy"},
 {name: "oo"},
 {dada: "lsh"},
 {dada: "ofg"}
 ]
 }
})
</script>

orderBy(排序)

1) 限制:需在v-for(即数组)里面使用

第一个参数: {String | Array | Function} 需要搜索的字符串

第二个参数: {String} 可选参数 order 决定结果升序(order >= 0)或降序(order < 0),默认是升序

<div class="test">
 遍历数组
 <ul v-for="item in lili | orderBy 'o' 1">
 <li>{{item}}</li>
 输出kk ll oi
 </ul>
 <ul v-for="item in lili | orderBy 'o' -1">
 <li>{{item}}</li>
 输出oi ll kk
 </ul>
 遍历含对象的数组
 <ul v-for="item in man | orderBy 'name' 1">
 <li>{{item.name}}</li>
 输出Bruce Chuck Jackie
 </ul>
 <ul v-for="item in man | orderBy 'name' -1">
 <li>{{item.name}}</li>
 输出Jackie Chuck Bruce
 </ul>
 使用函数排序
 <ul v-for="item in man | orderBy ageByTen">
 <li>{{item.name}}</li>
 输出Bruce Chuck Jackie
 </ul>
</div>
<script type="text/javascript">
 var myVue = new Vue({
 el: ".test",
 data: {
  lili: ["oi", "kk", "ll"],
  man: [ //此处注意man是数组,不是对象
  {
  name: 'Jackie',
  age: 62
  },
  {
  name: 'Chuck',
  age: 76
  },
  {
  name: 'Bruce',
  age: 61
  }
 ]
 },
 methods: {
  ageByTen: function () {
  return 1;
  }
 }
 })
</script>

自定义过滤器

<div class="test">
 {{'2018-11-16 18:12:15'|formatDate}}
</div>
<script type="text/javascript">
 var myVue = new Vue({
 el: ".test",
 methods: {
 },
 filters:{
  formatDate (val) {
  return moment(val).format('YYYY-MM-DD');
  // 这里用到了moment.js
  }
 }
 })
</script>

以上是“vue中内置过滤器怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网JavaScript频道!

--结束END--

本文标题: vue中内置过滤器怎么用

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue中内置过滤器怎么用
    小编给大家分享一下vue中内置过滤器怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言vue中过滤器filters的作用是...
    99+
    2024-04-02
  • Vue中过滤器怎么用
    这篇文章主要为大家展示了“Vue中过滤器怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue中过滤器怎么用”这篇文章吧。前言最近在项目的开发中,出现一些格...
    99+
    2024-04-02
  • Vue中过滤器怎么使用
    这篇文章主要讲解了“Vue中过滤器怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中过滤器怎么使用”吧!过滤器其本质其实就是函数,作用在于用户输入数据用户,能够进行处理,并且返回...
    99+
    2023-06-03
  • vue中过滤器filter怎么用
    这篇文章主要为大家展示了“vue中过滤器filter怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中过滤器filter怎么用”这篇文章吧。示例<...
    99+
    2024-04-02
  • Vue中怎么创建并使用过滤器
    Vue中怎么创建并使用过滤器,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。定义和使用过滤器使用 Vue,我们可以通过两种不同的方式注册过滤...
    99+
    2024-04-02
  • vue中过滤器的用法
    一、过滤器 过滤器是vue中的一个特性,作用是用于对文本进行格式化的作用。 注意:在vue 1.0中有内置的过滤器,在2.0中去掉了内置过滤器,只有自定义过滤器 二、使用位置 过滤器...
    99+
    2024-04-02
  • vue过滤器在v2.0版本中怎么用
    这篇文章主要为大家展示了“vue过滤器在v2.0版本中怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue过滤器在v2.0版本中怎么用”这篇文章吧。1.x...
    99+
    2024-04-02
  • vue全局过滤器怎么设置(教程)
    Vue.js 是一个高效、灵活并且易于学习的前端框架,具有响应式和组件化的特性。Vue.js 还提供了一种很便捷的方式来处理数据,那就是 Vue.js 的过滤器。在 Vue.js 中,过滤器可以用于转换数据。通常我们要将数据进行格式化以满足...
    99+
    2023-05-14
  • Vue的filters过滤器怎么使用
    本篇内容主要讲解“Vue的filters过滤器怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue的filters过滤器怎么使用”吧!1、示例代码采用vue单文件组件,使用moment插...
    99+
    2023-07-04
  • Vue过滤器怎么实现
    这篇文章主要介绍“Vue过滤器怎么实现”,在日常操作中,相信很多人在Vue过滤器怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue过滤器怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!&l...
    99+
    2023-06-25
  • vue中过滤器如何使用
    这篇文章主要介绍“vue中过滤器如何使用”,在日常操作中,相信很多人在vue中过滤器如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中过滤器如何使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-29
  • vue.js中过滤器怎么用
    这篇文章给大家分享的是有关vue.js中过滤器怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言大家再使用vue做项目时,查询功能当然必不可少,这就得使用vue强大的fil...
    99+
    2024-04-02
  • Vue 中filters过滤器如何使用
    这篇文章给大家介绍Vue 中filters过滤器如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、示例代码采用vue单文件组件,使用moment插件格式化日期<templ...
    99+
    2024-04-02
  • Vue中如何使用filters过滤器
    这篇文章主要为大家展示了“Vue中如何使用filters过滤器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue中如何使用filters过滤器”这篇文章吧。Vue.js 允许我们自定义过滤器,...
    99+
    2023-06-29
  • Vue过滤器怎么自定义及使用
    这篇文章主要介绍“Vue过滤器怎么自定义及使用”,在日常操作中,相信很多人在Vue过滤器怎么自定义及使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue过滤器怎么自定义及使用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-04
  • vue货币过滤器怎么实现
    本篇内容主要讲解“vue货币过滤器怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue货币过滤器怎么实现”吧!所以要让组件的 v-model 生效,它必须:接受一个 value 属性在有...
    99+
    2023-07-04
  • vue指令及其过滤器怎么使用
    本篇内容主要讲解“vue指令及其过滤器怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue指令及其过滤器怎么使用”吧!vue 指令与过滤器内容渲染指令内容渲染指令是用来辅助开发者渲染 D...
    99+
    2023-07-05
  • vue如何使用过滤器
    在vue中使用过滤器的方法:1.新建vue.js项目;2.使用import方法引入filter过滤器;3.全局注册过滤器;4.执行命令直接引用;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create proje...
    99+
    2024-04-02
  • VUE中的filters过滤器使用方法
    目录前言一、全局过滤器1、全局过滤器之单一挂载2、全局过滤器之批量挂载二、组件过滤器前言 Vue.js 允许我们自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双...
    99+
    2024-04-02
  • Vue中的过滤器(filter)详解
    目录过滤器使用位置全局过滤器、局部过滤器 全局过滤器:局部过滤器:过滤器中传入多个参数:多个过滤器串联:官方文档:https://cn.vuejs.org/v2/guide...
    99+
    2022-11-13
    Vue中的过滤器 Vue filter过滤器 vue filter
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作