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. mysql 快速简单安装法

    网上下载的编译好的包 最好安装在 /usr/local 目录下面: 我用的mysql的版本的是:mysql--linux-i686-icc-glibc23.tar.gz 在官网上就可以下载到. 先期工 ...

  2. easyui的datagrid form(表单)提交到后台转对象的时候中文出现乱码

    在web.xml中配置如下代码 <filter> <filter-name>characterEncodingFilter</filter-name> <fi ...

  3. Sql Server函数全解<二>数学函数

    阅读目录 1.绝对值函数ABS(x)和返回圆周率的函数PI() 2.平方根函数SQRT(x) 3.获取随机函数的函数RAND()和RAND(x) 4.四舍五入函数ROUND(x,y) 5.符号函数SI ...

  4. PYTHON文件操作(二)

    class file(object) def close(self): # real signature unknown; restored from __doc__ 关闭文件 "" ...

  5. WindowsForm多窗体、多窗体传值、控件数据绑定--2016年12月8日

    多窗体 Show Form1 f1 = new Form1(); f1.Show(); ShowDialog--在父窗体之上 Form1 f1 = new Form1(); f1.ShowDialog ...

  6. 基于Unity3D 的Vuforia SDK开发基础教程

    最新博客地址已转到: http://blog.csdn.net/zzlyw?viewmode=contents   ------------------------------------------ ...

  7. XUT 1245

    这是一道2016湘潭邀请赛的题目,记得那个时候看到这个题目就想到了最短生成树,然后给别人做,WA了,最后发现是有向图,然后我自己去写了个搜索,结果是RE吧 今天刚刚好想到这个题目,然后再来做,发现这个 ...

  8. 关于layoutSubviews

    layoutSubviews 是什么? 设定subviews的尺寸和位置,如果要精确布局,可以在子类里重写此方法.不能直接调用此方法,如果想强制layout刷新,调用setNeedsLayout来代替 ...

  9. Requests 乱码

    当使用Requests请求网页时,出现下面图片中的一些乱码,我就一脸蒙逼. 程序是这样的. def getLinks(articleUrl): headers = { "Uset-Agent ...

  10. lanmp之二 (奇葩问题)

    ps:该篇是接 lanmp -- 动静分离 lanmp -- 奇葩问题 话说,在 搭建 bbs.abc.com (discuz论坛)的 时候.... 1.说明:web机器上以前已经有一个 discuz ...