原文地址


过滤器:生活中有很多例子,净水器 空气净化器 。
过滤器的作用:实现数据的筛选、过滤、格式化。

vue1.*版本是有内置的过滤器,但是在vue2.*所有的版本都已经没有自带的过滤器了。

1、过滤器创建
  过滤器的本质 是一个有参数 有返回值的方法
  

new Vue({
    filters:{
      myCurrency:function(myInput){
        return 处理后的数据
      }
    }
  })

2、过滤器使用
语法:

<any>{{表达式 | 过滤器}}</any>

举个例子:

<h1>{{price | myCurrency}}</h1>

3、过滤器高级用法

在使用过滤器的时候,还可以指定参数,来告诉过滤器按照参数进行数据的过滤。

①如何给过滤器传参?

<h1>{{price | myCurrency('¥',true)}}</h1>

②如何在过滤器中接收到?

new Vue({
  filters:{
    //myInput是通过管道传来的数据
    //arg1在调用过滤器时在圆括号中第一个参数
    //arg2在调用过滤器时在圆括号中第二个参数
    myCurrency:function(myInput,arg1,arg2){
      return 处理后的数据
    }   } })

  示例

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<script src="js/vue.js"></script>
<title></title>
</head>
<body> <div id="container">
<p>{{msg}}</p>
<h1>{{price}}</h1>
<h1>{{price | myCurrency('¥')}}</h1>
</div> <script>
// filter
new Vue({
el: '#container',
data: {
msg: 'Hello Vue',
price:356
},
//过滤器的本质 就是一个有参数有返回值的方法
filters:{
myCurrency:function(myInput,arg1){
console.log(arg1);
//根据业务需要,对传来的数据进行处理
// 并返回处理后的结果
var result = arg1+myInput;
return result;
}
}
})
</script> </body>
</html>
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<script src="js/vue.js"></script>
<title></title>
</head>
<body> <div id="container">
<p>{{msg}}</p>
<h1>{{name | myTextTransform(false)}}</h1>
</div> <script>
new Vue({
el: '#container',
data: {
msg: 'Hello Vue',
name:'Michael'
},
filters:{
myTextTransform: function (myInput,isUpper) {
if(isUpper)
{
return myInput.toUpperCase();
}
else{
return myInput.toLowerCase();
}
}
}
})
</script> </body>
</html>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>过滤器</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="container">
<p>{{msg}}</p>
<h1>{{price}}</h1>
<h1>{{price|myCurrency}}</h1>
</div>
<script>
new Vue({
el:"#container",
data:{
msg:"Hello VueJs",
price:356
},
//过滤器的本质 就是一个有参数有返回值的方法
filters:{
myCurrency:function(myInput){
var result = "$"+myInput;
return result;
}
}
})
</script>
</body>
</html>

最后一个例子是写死的


返回目录

最新文章

  1. (视频) 《快速创建网站》2.1 在Azure上创建网站及网站运行机制
  2. [转]linux awk命令详解
  3. SparkSQL相关语句总结
  4. 区间k大数查询
  5. POJ1151+线段树+扫描线
  6. span文字在左背景图片在右
  7. 在 Windows 下远程桌面连接 Linux - XManager 篇
  8. 用户与 Oracle DB 交互具体过程
  9. 虎扯:小众玩物 webkit家的滚动条
  10. RH253读书笔记(9)-Lab 9 Account Management Methods
  11. Java Swing intro
  12. VS2015编译VS2013工程文件出错
  13. js监听浏览器离开页面操作
  14. vue-router 二级路由
  15. 自动生成MyEclipse 安装破解码
  16. kvm虚拟机中鼠标不同步的问题解决方法
  17. 基于mave的dubbo分别架构
  18. FieldGroup绑定的日期类型存储格式的问题
  19. 转--python 面试题
  20. JSP_运维_JSP项目部署到server(适合0经验新手)

热门文章

  1. Elasticsearch:fuzzy 搜索 (模糊搜索)
  2. hbase实践之rowkey设计
  3. debug:The key &quot;&quot; is not recognized and ignored.
  4. Codeforces Round #586 (Div. 1 + Div. 2) B. Multiplication Table
  5. Codeforces Round #589 (Div. 2) E. Another Filling the Grid(DP, 组合数学)
  6. vue2 练习
  7. Python数据类型知识点
  8. scrollTop([val])
  9. [CTS2019]珍珠——二项式反演
  10. CDN之Web Cache