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 - 过滤器的更多相关文章

  1. Vue 过滤器的使用

    Vue官方文档是这样说的:Vue过滤器用于格式化一些常见的文本. 在实际项目中的使用: 定义过滤器 在src定义一个filter.js文件,里面定义过滤器函数,在最后要使用 exprot defaul ...

  2. vue 过滤器filters的使用以及常见报错小坑(Failed to resolve filter)

    今天使用vue 过滤器中发现一个小坑,网上查到的大都是不正确的解决方法,故分享给大家: 原错误代码: // 过滤器 filter:{ FdishList:function(value){ if (!v ...

  3. vue过滤器微信小程序过滤器和百度智能小程序过滤器

    因为最近写了微信小程序和百度小程序,用到了过滤器,感觉还挺好用的,所以就来总结一下,希望能帮到你们. 1. 微信小程序过滤器: 1.1:首先建一个单独的wxs后缀的文件,一般放在utils文件夹里面. ...

  4. 换个角度使用VUE过滤器

    换个角度使用VUE过滤器 过滤器在Vue中的主要用于文本格式化,如小写转大小,日期格式化等操作.官方对这个功能介绍也很简单,不过确实很简单,就一个函数而已.但最近在做两款APP时,遇到一些特殊的需求. ...

  5. 3.Vue过滤器

    1.概念: Vue.js 允许你自定义过滤器,可被用作一些常见文本的格式化,过滤器可以用在两个地方:mustache 插值和 v-bind 表达式.过滤器应该被添加在 JavaScript 表达式的尾 ...

  6. 黑马vue---31-32、vue过滤器实例

    黑马vue---31-32.vue过滤器实例 一.总结 一句话总结: vue内部的东西,无论是过滤器还是组件,都是键值对的方式 1.过滤器的定义语法? Vue.filter('过滤器的名称', fun ...

  7. 带你掌握Vue过滤器filters及时间戳转换

    摘要:Vue的filters过滤器是比较常见的一个知识点,下面我将结合时间戳转换的例子带你快速了解filters的用法. 本文分享自华为云社区<三分钟掌握Vue过滤器filters及时间戳转换& ...

  8. Vue 过滤器与计算属性

    过滤器 V1.x 版本 过滤器基础 过滤器是一个通过输入数据,能够及时对数据进行处理并返回一个数据结果的简单函数.Vue有很多很便利的过滤器,可以参考官方文档,http://cn.vuejs.org/ ...

  9. 第六节:Vue过滤器的用法和自定义过滤器

    1.过滤器的用法,用  '|' 分割表达式和过滤器. 例如:{{ msg |  filter}}     {{msg | filter(a)}}  a就标识filter的一个参数. 用两个过滤器:{{ ...

随机推荐

  1. Linux 从零开始

    从Windows进入linux有太多不适应,对代码一无所知,接触Linux,从简单的开始垒砌. 加油最好的自己!

  2. JS学习:第二周——NO.2正则

    1.[正则] 就是用来操作(匹配和捕获)的一系列规则: 匹配:校验字符串是否符合我们的规则:返回值--布尔值           匹配这里用的是正则的方法:test(),reg.text( ); 捕获 ...

  3. MySQL 权限与安全

    一.MySQL权限系统通过两个阶段进行认证: (A) 对用户进行身份认证,IP地址和用户名联合, (B) 对合法用户赋予相应权限,权限表在数据库启动的时候载入内存中. 二.在权限的存取过程中,会用到& ...

  4. (转)winform(C#)里几种弹出对话框

    //消息框中需要显示哪些按钮,此处显示“确定”和“取消” MessageBoxButtons messButton = MessageBoxButtons.OKCancel; //"确定要退 ...

  5. IE浏览器版本判断 HTML代码

    <!--[if IE 6.0]> <div id="noie6" style="z-index: 20002;border: 1px solid #F7 ...

  6. struts-spring-mybatis实现最简单的登录验证

    1.导入项目相关的jar包 2.建立项目结构 3.配置文件的配置及代码 db.properties: jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:my ...

  7. zepto弹出层组件

    html: <!DOCTYPE html> <html> <meta charset="utf-8"> <title></ti ...

  8. css垂直居中方法盘点

    1.单行文字垂直居中 利用 line-height 即可轻松实现,如下示例: height:45px;line-height:45px; 2.多行文本固定高度垂直居中1 利用 display:tabl ...

  9. Ubuntu16.04安装Atom

    转自:http://blog.csdn.net/q1302182594/article/details/51304401 sudo add-apt-repository ppa:webupd8team ...

  10. 还敢说你是程序员?一律师闲着没事写了个app,用户量600万

    今天周五,是我在上海上班的第五天. 这几天怎么说呢,跟混日子差不多,因为处处有“”惊喜”. 上班第一天领来办公电脑,登上自己的公司邮箱,惊喜来了!我的擦擦擦,全TM是英文呐!作为一个从村儿里来的码农, ...