Vue - 过滤器
1、内部过滤器
1):字母操作: ---- 针对字符串
A:capitalize
B:uppercase
C:lowercase
2):json过ingfy滤器,可将表达式的值转化为Json字符串,本质上是ISON.stringfy(),接受一个Number参数,用于决定转化后的JSON字符串的缩进距离,不输默认是2
<pre>{{didifamily | json 4}}</pre>
3):limitBy,filterBy,orderBy处理并返回过滤后的数组,注意:该3个过滤器处理的表达式必须是数组
limitBy:
<!-- limitBy 限制数组为开始的前N个元素 -->
<!-- N由前一个参数决定,后一个参数可选,用于指定开始的偏移量,默认是0 --> <!-- 只显示开始的前10个参数 -->
<div v-for="item in items | limitBy 10"></div> <!-- 显示第5到15个元素 -->
<div v-for="item in items | limitBy 10 5"></div>
------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
filterBy:
A:使用静态参数
<!-- 字符串 -->
<div v-for="item in items | filterBy 'hello'"></div> <!-- 单个对象 -->
<div v-for="item in items | filterBy 'hello' in 'name'"></div> <!-- 多个对象,用空格分离 -->
<div v-for="item in items | filterBy 'hello' in 'name' 'nickname'"></div> <!-- 数组 -->
<!-- fileds = ['a','b'] -->
<div v-for="item in items | filterBy 'a' in fileds"></div>
B:使用动态数值作为搜索条件
<div id="filter">
<input v-model="name"> <ul>
<li v-for="user in users | filterBy name in 'name">{{user.name}}</li>
</ul>
</div> <script type="text/javascript">
new Vue({
el : '#filter', data : {
name : '',
user : [
{name : 'a'},
{name : 'b'}
]
}
})
</script>
------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
orderBy:
<!-- 传入参数为字符串,可同时按照多个字符串,字符串之间用空格隔开 -->
<ul>
<li v-for="user in users | orderBy 'a' 'b' 'c'">
{{user.a}} {{user.b}} {{user.c}}
</li>
</ul> <!-- 将参数存入数组中 -->
<!-- sort = ['a','b','c'] -->
<ul>
<li v-for="user in users | orderBy sort">
{{user.a}} {{user.b}} {{user.c}}
</li>
</ul>
4):current过滤器:将数值转化为货币形式输出,第一个参数接受类型为string,默认值是$ ; 第二个参数接受类型为Number的小数位,如不输入默认是2
注意:第一个参数采取默认,而第二个参数需要修改小数位,则第一个参数不省略,一定要填上,即使是默认也要填上
{{amout | current}} {{amout | current '$'}} {{amout | current '$' 3}}
5):debounce过滤器
2、自定义过滤器
1):定义:Vue.filter(ID,function(){})
2):单个参数
<span v-text="message | reverse"></span> <script type="text/javascript">
Vue.filter('reverse',function(value){
return value.split('').reverse().join('');
})
</script>
3):多参数
<span v-text="message | wrap 'before' 'after' "></span>
<!-- hello --> ==> 'before hello after' <script type="text/javascript">
Vue.filter('wrap',function(value,begin,end){
return begin + value + end
})
</script>
4):动态参数:如果过滤器没有用引号包裹,则他会在当前VM的作用域内动态计算 , 过滤器函数的this始终指向调用它的VM

3、过滤器:
1):自定义filter可以写在全局下:

2):使用orderBy以及filterBy进行过滤的时候,如果将$index作为参数,那么$index是根据过滤后的顺序
Vue - 过滤器的更多相关文章
- Vue 过滤器的使用
Vue官方文档是这样说的:Vue过滤器用于格式化一些常见的文本. 在实际项目中的使用: 定义过滤器 在src定义一个filter.js文件,里面定义过滤器函数,在最后要使用 exprot defaul ...
- vue 过滤器filters的使用以及常见报错小坑(Failed to resolve filter)
今天使用vue 过滤器中发现一个小坑,网上查到的大都是不正确的解决方法,故分享给大家: 原错误代码: // 过滤器 filter:{ FdishList:function(value){ if (!v ...
- vue过滤器微信小程序过滤器和百度智能小程序过滤器
因为最近写了微信小程序和百度小程序,用到了过滤器,感觉还挺好用的,所以就来总结一下,希望能帮到你们. 1. 微信小程序过滤器: 1.1:首先建一个单独的wxs后缀的文件,一般放在utils文件夹里面. ...
- 换个角度使用VUE过滤器
换个角度使用VUE过滤器 过滤器在Vue中的主要用于文本格式化,如小写转大小,日期格式化等操作.官方对这个功能介绍也很简单,不过确实很简单,就一个函数而已.但最近在做两款APP时,遇到一些特殊的需求. ...
- 3.Vue过滤器
1.概念: Vue.js 允许你自定义过滤器,可被用作一些常见文本的格式化,过滤器可以用在两个地方:mustache 插值和 v-bind 表达式.过滤器应该被添加在 JavaScript 表达式的尾 ...
- 黑马vue---31-32、vue过滤器实例
黑马vue---31-32.vue过滤器实例 一.总结 一句话总结: vue内部的东西,无论是过滤器还是组件,都是键值对的方式 1.过滤器的定义语法? Vue.filter('过滤器的名称', fun ...
- 带你掌握Vue过滤器filters及时间戳转换
摘要:Vue的filters过滤器是比较常见的一个知识点,下面我将结合时间戳转换的例子带你快速了解filters的用法. 本文分享自华为云社区<三分钟掌握Vue过滤器filters及时间戳转换& ...
- Vue 过滤器与计算属性
过滤器 V1.x 版本 过滤器基础 过滤器是一个通过输入数据,能够及时对数据进行处理并返回一个数据结果的简单函数.Vue有很多很便利的过滤器,可以参考官方文档,http://cn.vuejs.org/ ...
- 第六节:Vue过滤器的用法和自定义过滤器
1.过滤器的用法,用 '|' 分割表达式和过滤器. 例如:{{ msg | filter}} {{msg | filter(a)}} a就标识filter的一个参数. 用两个过滤器:{{ ...
随机推荐
- runas/cpau/lsrunase使用小结(以管理员运行指定程序)
企业环境中,为了安全起见一般都没有赋予域用户或者企业的PC客户端用户管理员权限. 但偶尔会有个别的程序一定需要管理员身份才能执行,如财务某些程序或专业的应用程序.那么如何不赋予用户管理员权限及密码但又 ...
- R可视化lend_club 全球最大的P2P平台数据75W条
lend_club 全球最大的P2P平台2007~2012年贷款数据百度云下载. 此文章基于R语言做简单分析. rm(list=ls()) #清除变量 gc() #释放内存 step1 考虑到后续分析 ...
- git clone出现的error: The requested URL returned error: 401 Unauthorized
error: The requested URL returned error: 401 Unauthorized while accessing https://git.oschina.net/.. ...
- 解决VS2015安装后stdio.h ucrtd.lib等文件无法识别问题
今天突然想在windows上装个 VS2015 玩玩,结果遇到了如下bug:安装完 VS2015 后,直接新建项目->win32控制台->运行,结果报错!"无法打开包括文件: & ...
- python 模块包裹
arlenmbx@arlenmbx-ThinkPad-X130e:~$ su root 密码: root@arlenmbx-ThinkPad-X130e:/home/arlenmbx# python ...
- Mysql Sql语句令某字段值等于原值加上一个字符串
MySQL连贯字符串不能利用加号(+),而利用concat. 比方在aa表的name字段前加字符'x',利用: update aa set name=concat('x',name); 替换: UPD ...
- Python全栈开发【面向对象进阶】
Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...
- Android源码阅读 – Zygote
@Dlive 本文档: 使用的Android源码版本为:Android-4.4.3_r1 kitkat (源码下载: http://source.android.com/source/index.ht ...
- ssl访问的原理
本文无图文对照解释,但力求通俗易懂.请读者边读边手绘各个流程,一便于理解. 总体交互流程如下 1. 客户端发起HTTPS请求 这个没什么好说的,就是用户在浏览器里输入一个https ...
- cnentos中进行bond网卡配置,一切配置无问题,就是ping不通宿主机
服务器网口绑定 1. ifcfg-bond0 DEVICE=bond0 ONBOOT=yes IPADDR=192.168.100.64 NETMASK=255.255.255.0 2. ...