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的一个参数. 用两个过滤器:{{ ...
随机推荐
- 关于在vs2010中编译Qt项目时出现“无法解析的外部命令”的错误
用Cmake讲Qt.VTK和ITK整合后,打开解决方案后添加新类时运行会出现“n个无法解析的外部命令”的错误. 原因是新建的类未能生成moc文件,解决办法是: 1.右键 要生成moc文件的.h文件,打 ...
- FPGA优化之高扇出
Fanout即扇出,模块直接调用的下级模块的个数,如果这个数值过大的话,在FPGA直接表现为net delay较大,不利于时序收敛.因此,在写代码时应尽量避免高扇出的情况.但是,在某些特殊情况下,受到 ...
- UI第十九节——UICollectionView
UICollectionView其实就是UITableView的升级版,在布局方面比UITableView更出色.下面,先看代码吧 #import "RootViewController.h ...
- Fiddler将笔记本设置代理,抓取手机网络请求包
第一步:下载fiddler,下载地址:http://www.telerik.com/download/fiddler 第二步:安装fiddler,略过... 第三步:启动fiddler,启动后界面如下 ...
- php数组array_push()和array_pop()以及array_shift()函数
<?php /** * array_push()将一个或多个单元压入数组的末尾(入栈) */ $stack = array("Java", "Php", ...
- centos7 打开mysql 3306端口并 设置外部访问
mysql安装后默认是localhost访问,如果需要外部访问可以设置一个新的账号把host改为%,意味着所有ip均可以访问 grant all privileges on *.* to 'outUs ...
- IE7 自动为文件路径添加域名
对于图片等文件的路径,一般在同一个域名下的文件都会使用相对路径,但如果使用JS获取文件的路径浏览器获取到的路径都是相对路径,但IE7会自动为路径添加域名变成绝对路径... IE7下图片路径,在文件相对 ...
- 最新版 chrome 33中,backgroundPosition 改了.
ctrl.css('backgroundPosition' 返回值不一样, 原来是:-75px 0px 现在是:left 75px top 0px // chrome 33 返回的是 left 0px ...
- Python 2/3 安装与运行环境设置
Python 2/3 安装与运行环境设置: 1.Python 软件源:https://www.python.org/ 下载Win版本 https://www.python.org/downloa ...
- 用ip来获得用户所在地区信息
淘宝api: package com.ebways.mq.utils; import com.alibaba.fastjson.JSON; import com.ebways.common.utils ...