vue2.0过滤器
最近一阶段,项目上比较清闲,有了更多的时间可以研究一下vue了。
这里记录一下关于vue2.0过滤器的学习。
vue2.0删除了所有的框架自带的过滤器,也就是说,如果你在vue2.0当中想用过滤器,那么只能自定义。
自定义过滤器分为全局过滤器和组件内部过滤器。
其实本质上没什么区别,只是定义的方式略有细微差别。
使用方式:
vue2.0官方文档中,明确说明:过滤器可以用在两个地方:双花括号插值和 v-bind
表达式。
<!-- 在双花括号中 -->
{{ arr | sum }} <!-- 在 `v-bind` 中 -->
<div v-bind:id="rawId | formatId"></div>
定义方式:
1、在组件当中定义过滤器
与methods,data等数据同级filters内部定义你需要使用的过滤器就可以。表现形式为函数。
这里以对数组arr求和为例。
filters:{
sum(val){
return val.reduce((dep, item)=>{
return dep + item;
}, 0)
}
},
过滤器sum的第一个形参默认为需要过滤的内容,在页面当中使用的时候,就相当于“|”之前的数据,这里就相当于数据arr,至于数组方法reduce,可以参考Array.prototype.reduce()。
事实上,过滤器还可以传入多个参数,例如对当前数组求和之后,再加上一个10。
那么在调用时,也需要同步修改(为了方便控制,可以在data数据内定义一个add:10):
{{ arr | sum(add) }}
如果不想在data中定义,也可以直接传入
{{ arr | sum(10) }}
过滤器修改只需要多加一个形参就可以
filters:{
sum(value, add){
return value.reduce((dep, item) => {
return dep + item;
}, add);
}
},
既然可以多传一个参数,那么必然也可以传入更多的参数。
不过一般情况下,也不建议传入太多参数,毕竟没必要通过过滤器来实现比较复杂的逻辑。
至于全局定义组件,也就是把刚刚定义的局部组件过滤器搬到main.js(使用脚手架vue-cli生成的vue项目中)中
Vue.filter('sum', function(value, add) {
let num = value.reduce((dep, item) => {
return dep + item;
}, 0)
return num + add;
})
除了定义方式略有区别之外,没有其他任何区别。
vue2.0过滤器的更多相关文章
- vue2.0自定义指令
前面一片文章说了vue2.0过滤器,其实自定义指令跟过滤器非常相似,单就定义方式而言,其与过滤器完全一致,分为局部指令,和全局指令.不过就是filter改为directive的区别. 过滤器一般用于对 ...
- Vue2.0实现1.0的搜索过滤器功能
Vue2.0删除了很多1.0的比较实用的过滤器,如filterBy,orderBy.官方文档给了通过计算属性实现1.0搜索过滤器功能,自己又加入了大小写通用检索功能,比较简单,学一下. <bod ...
- Vue2.0的变化 ,组件模板,生命周期,循环,自定义键盘指令,过滤器
组件模板: 之前: <template> <h3>我是组件</h3><strong>我是加粗标签</strong> </templat ...
- Vue2.0如何自定义时间过滤器
我们知道Vue2.0开始不再支持自带的过滤器,需要我们自己去自定义过滤器,方法如下: 我们可以自己定义一个时间过滤器,在此引用了一个日期处理类库(Moment.js)可以很快的实现 ...
- vue2.0有哪些变化
vue2.0之后有哪些变化: 1.每个组件模板template,不再支持片段代码 之前: <template> <h3>vue-router+vue-loader</h3 ...
- 基于vue2.0+vuex+localStorage开发的本地记事本
本文采用vue2.0+vuex+localStorage+sass+webpack,实现一个本地存储的记事本.兼容PC端和移动端.在线预览地址:DEMO github地址:https://github ...
- 初学VUE2.0
初学VUE2.0 (个人笔记,写完后发现好乱....下期使用markdown书写.) 概述 webstorm添加对VUE的支持 http://www.jianshu.com/p/142dae4f8b5 ...
- 《Vue2.0 实践揭秘》终于出版啦!
不知不觉间在园子开博都两年多了,最近一些园友问最近去哪了为何都没有新的文章了.最近确实发生了很多的事,一是忙工作二就是忙着写书.这还得多些园子的小编,自两年前发表的"架构师修炼"系 ...
- vue1.0和vue2.0的区别(二)
这篇我们继续之前的vue1.0和vue2.0的区别(一)继续说 四.循环 学过vue的同学应该知道vue1.0是不能添加重复数据的,否则它会报错,想让它重复添加也不是不可以,不过需要定义别的东西 而v ...
随机推荐
- StyleCop(C#代码检测工具)
StyleCop(C#代码检测工具) 一.StyleCop是微软的一个开源的静态代码分析工具,检查c#代码一致性和编码风格. 二.下载地址 http://stylecop.codeplex.c ...
- jQuery实现点赞动态效果
实现动态效果基本上都是用到定时器,修改标签的位置大小颜色属性 <!DOCTYPE html> <html lang="en"> <head> & ...
- Azure PowerShell (13) 批量设置Azure ARM Network Security Group (NSG)
<Windows Azure Platform 系列文章目录> 刚刚在帮助一个合作伙伴研究需求,他们的虚拟机全面的网络安全组(Network Security Group, NSG)会经常 ...
- C++进阶--Named Parameter Idiom
//############################################################################ /* Named Parameter Id ...
- solrCloud index search (图)
结合网上的资料,抄袭了几张图,记录下. 1.solrcloud-collection/shard/replica 1.Replica.Leader是core的角色,在index.search的过程中作 ...
- bzoj2856: [ceoi2012]Printed Circuit Board
Description 给出一个N个顶点的简单多边形,对于每个顶点,假如它和原点连成的线段只在这个顶点处和多边形相交,就称为满足要求的顶点.你的任务是输出所有满足要求的顶点编号. Input 第一行一 ...
- nginx 操作笔记
测试nginx 配置是否成功 service nginx configtest
- C#、AE开发入门之打开shp文件并显示
首先要建立好对应的对话框程序,并拖入axMapControl控件和axLisence控件,并设置一个按钮打开该文件 当然在使用前一定要绑定对应的ArcGis产品 static void Main() ...
- C语言强化——链表(1)
目录 链表的增删(不带头结点) 链表相关面试题 合并两个有序链表 单链表原地逆置 找出链表的倒数第四个节点 找出链表的中间节点 判断单链表是否有环 求链表交点 删除有序单链表中重复的元素 链表按奇数. ...
- python面向对象 : 属性, 类方法, 静态方法
一. 属性 属性: 将方法伪装成一个属性,代码上没有什么提升,只是更合理. property应用 : 类似于bmi这种,area,周长.... 需要用到计算的. # 求BMI体质数:BMI = 体 ...