过滤器

1、过滤器的用法,用 ‘|’ 分割表达式和过滤器。

  例如:{{ msg | filter}} {{msg | filter(a)}} a就标识filter的一个参数。

  

用两个过滤器:{{msg | myfilter | myfilternumber }}

2、自定义的过滤器

  过滤器的结构为:Vue.filter("id",function(value,a){});

  value是过滤器的一个参数,也是默认的原始值。a是自定义的一个参数。

<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
<script src="vue.js"></script>
<style> </style>
</head> <body>
<div id="app">
<!--输出的字符串中a的个数-->
<span>msg的值:{{msg}},其中a的个数:</span> {{msg | myfilter('a')}}
<br>
<!--输出的字符串中b的个数-->
<span>msg的值:{{msg}},其中b的个数:</span> {{msg | myfilter | myfilternumber}} </div>
</body>
<script type="text/javascript">
Vue.filter("myfilter", function(value, arg) {
//返回一个对象或者json字符串,列出字符串中的字符以及字符的个数,不区分大小写
var obj = {};
var s = value.split('').sort().join("");
var reg = /(.)\1+/ig;
var str = s.replace(reg, "$1"); //字符串去重后的结果
var i = 0,
n,
a;
while (s.length > 0) {
a = str.charAt(i);
n = s.lastIndexOf(a) + 1;
obj[a] = n;
s = s.substring(n);
i++;
}
return arg ? obj[arg] : obj;
});
Vue.filter("myfilternumber", function(value) {
return value.b;
});
var app1 = new Vue({
el: "#app",
data: {
msg: "a1a1aba2babac" },
methods: { }
});
</script> </html>

filters过滤器

<div id='app'>
数字1:{{num1:toInt}}
数字2:{{num2:toInt}}
数字3:{{num3:toInt}}
</div> 通过管道符|把函数toInt放在变量后面,num1,num2,num3会分别作为参数value传入toInt(value)方法进行运算,并返回一个整数。 let vm=new Vue({
el:'#app',
data:{
num1:33.11,
num2:23.22,
num3:90.65
},
//过滤器
filters:{
toInt(value){//ES6语法
return pparseInt(value)
}
}
})

参数对象除了el和data属性之外,还多了一个filters属性,它的值就是一个对象,里面定义了一个叫toInt()的方法,传入了一个value的参数,函数的作用就是把传入的参数value,简单地转成一个整出并return回去。

Vue基础知识之过滤器(四)的更多相关文章

  1. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  2. vue基础知识之vue-resource/axios

    Vue基础知识之vue-resource和axios(三)   vue-resource Vue.js是数据驱动的,这使得我们并不需要直接操作DOM,如果我们不需要使用jQuery的DOM选择器,就没 ...

  3. Vue基础知识之vue-resource和axios

    Vue基础知识之vue-resource和axios  原文链接:http://www.cnblogs.com/Juphy/p/7073027.html vue-resource Vue.js是数据驱 ...

  4. Go基础知识梳理(四)

    Go基础知识梳理(四) GO的哲学是"不要通过共享内存来通信,而是通过通信来共享内存",通道是GO通过通信来共享内存的载体. rumtime包常用方法 runtime.NumGor ...

  5. Vue基础知识简介

    基础知识: vue的生命周期: beforeCreate/created.beforeMount/mounted.beforeUpdate/updated.beforeDestory/destorye ...

  6. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  7. 数据库基础知识详解四:存储过程、视图、游标、SQL语句优化以及索引

    写在文章前:本系列文章用于博主自己归纳复习一些基础知识,同时也分享给可能需要的人,因为水平有限,肯定存在诸多不足以及技术性错误,请大佬们及时指正. 11.存储过程 ​ 存储过程是事先经过编译并存储在数 ...

  8. Vue基础知识总结(二)

    一.解决网速慢的时候用户看到花括号标记 (1)v-cloak,防止闪烁,通常用于比较大的选择器上. 给元素添加属性v-cloak,然后style里面:[v-cloak]{display:none;} ...

  9. Vue基础知识总结(一)

    一.基本语法: 1.实例化:new Vue({}) 2.el:一定是根容器元素(vue的作用域就是这个根元素内),就是写选择器  data:用于存储数据      methods:定义方法(方法里th ...

随机推荐

  1. python 字典输出键值对

    d = {, , } for dict_key, dict_value in d.items(): print(dict_key,'->',dict_value)

  2. Strategy(策略)

    意图: 定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换.本模式使得算法可独立于使用它的客户而变化. 适用性: 许多相关的类仅仅是行为有异.“策略”提供了一种用多个行为中的一个行为来配置 ...

  3. JavaScript权威指南--WEB浏览器中的javascript

    知识要点 1.客户端javascript window对象是所有客户端javascript特性和API的主要接入点.它表示web浏览器的一个窗口或窗体,并且可以用window表示来引用它.window ...

  4. js做小数运算精度问题

    当js做小数运算时存在bug,大概是因为二进制和十进制转换之间的关系. bug如图 解决方案 1.运算结果后,乘以100再除以100.网上推荐这种方法但是乘以1000再除以1000依然存在精度问题 2 ...

  5. 前端jsp页面script引入url项目名使用${appName}

    <script src="/${appName}/commons/jslib/CommonValue.js"></script> 新建一个com.autum ...

  6. 转-Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)

    http://blog.chinaunix.net/space.php?uid=10167808&do=blog&id=26042   1)BIOS自检2)启动Grub/Lilo3)加 ...

  7. TCP/UDP协议

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  8. 单链表是否有环的问题解决与讨论(java实现)

    单链表是否有环的问题经常在面试中遇到,一般面试中会要求空间为O(1);再者求若有环,则求环产生时的起始位置. 下面采用java实现. //单链表class ListNode{ int val; Lis ...

  9. 软件工程firstblood

    https://github.com/happyeven/WC 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的 ...

  10. Swift 导航栏设置

    let width = UIScreen.mainScreen().bounds.size.width let height = UIScreen.mainScreen().bounds.size.h ...