vue中过滤器filter的讲解


Posted in Javascript onJanuary 21, 2019

vue中过滤器filter的讲解

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <div id="app">
    <!-- {{}}中的|表示过滤器管道符,过滤器后面的为过滤函数 -->
    <p>{{msg | msgFormat('疯狂+1')}}</p>
    <!-- 多个过滤函数进行调用 -->
    <p>{{msg | msgFormat('疯狂+1') | test}}</p>
    <h2>{{time | dateFormat}}</h2>
  </div>
</body>
<script src="./js/vue.js"></script>
<script>
  //过滤器的定义语法
  //Vue.filter('过滤器的名称',function () { })
  //过滤器中的function,第一个参数data,已经被规定死,永远都是过滤器管道符前面传递过来的数据
  // 从第二个参数开始就是传值
  // Vue.filter('过滤器名称',function(data){
  //   return data+123
  // });
  //定义一个Vue全局的过滤器,名字:msgFormat
  Vue.filter('msgFormat',function(msg,param) {
    //字符出中的replace方法,第一个参数,出了写一个字符串之外,还可以定义一个正则
    // return msg.replace('单纯','邪恶');
    // return msg.replace(/单纯/g,'邪恶')
    return msg.replace(/单纯/g,param)
  })
  Vue.filter('test',function(msg) {
    return msg+'love'
  })
  //如何定义一个私有过滤(局部)
  var vm = new Vue({
    el: '#app',
    data: {
      msg: '我也是一个单纯的少年,单纯到自己很可爱,我也会喜欢你',
      time: new Date(),
    },
    //定义私有过滤器,过滤器有两个条件[过滤器名称 和 处理函数 ]
    filters: {
      /*
      过滤器调用的时候,采用的是就近原则,
      如果私有过滤器和全局过滤器名称一致了,这时候优先调用私有过滤器
      */
      //param = '';es6的初始化值
      dateFormat: function(time,param = ''){
        var dt = new Date(time);
        // yyyy-mm-dd
        var y = dt.getFullYear();
        // var m = dt.getMonth()+1;
        var m = (dt.getMonth()+1).toString().padStart(2,'0');
        var d = dt.getDate();
        // return y+'-'+m+'-'+d;
        //模板字符串
        // return `${y}-${m}-${d}`;
        if(param.toLowerCase() === 'yyyy-mm-dd'){
          return `${y}-${m}-${d}`;
        }else{
          var hh = dt.getHours();
          var mm = (dt.getMinutes()).toString().padStart(2,'0');
          var ss = dt.getSeconds();
          return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
        }
      }
    },
    methods: { }
  })
</script>
</html>
[点击并拖拽以移动]

vue中过滤器filter的讲解

vue中过滤器filter的讲解

效果图

vue中过滤器filter的讲解

vue中过滤器filter的讲解

若有不足请多多指教!希望给您带来帮助!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Javascript 相关文章推荐
理解Javascript_03_javascript全局观
Oct 11 Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
Jul 21 Javascript
Java 正则表达式学习总结和一些小例子
Sep 13 Javascript
JavaScript时间转换处理函数
Apr 14 Javascript
简介JavaScript中strike()方法的使用
Jun 08 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
Nov 04 Javascript
最全面的JS倒计时代码
Sep 17 Javascript
JS制作适用于手机和电脑的通知信息效果
Oct 28 Javascript
jquery append与appendTo方法比较
May 24 jQuery
JS实现瀑布流布局
Oct 21 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
Oct 25 Javascript
详解vue更改头像功能实现
Apr 28 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
Jan 21 #Javascript
VUE v-model表单数据双向绑定完整示例
Jan 21 #Javascript
js中实例与对象的区别讲解
Jan 21 #Javascript
详解vue挂载到dom上会发生什么
Jan 20 #Javascript
vue-cli3 从搭建到优化的详细步骤
Jan 20 #Javascript
微信小程序实现富文本图片宽度自适应的方法
Jan 20 #Javascript
实例介绍JavaScript中多种组合继承
Jan 20 #Javascript
You might like
PHP往XML中添加节点的方法
2015/03/12 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
yii2 数据库读写分离配置示例
2017/02/10 PHP
PHP编程实现csv文件导入mysql数据库的方法
2017/04/29 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
jquery DataTable实现前后台动态分页
2017/06/17 jQuery
Vue.js实现数据响应的方法
2018/08/13 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
VuePress 静态网站生成方法步骤
2019/02/14 Javascript
了解重排与重绘
2019/05/29 Javascript
JavaScript 空间坐标的使用
2020/08/19 Javascript
Python创建xml的方法
2015/03/10 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
Python 绘图库 Matplotlib 入门教程
2018/04/19 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
详解Python的数据库操作(pymysql)
2019/04/04 Python
python线性插值解析
2020/07/05 Python
BISSELL官网:北美吸尘器第一品牌
2019/03/14 全球购物
ktv收银员岗位职责
2013/12/16 职场文书
班组长岗位职责
2014/03/03 职场文书
军训拉歌口号
2014/06/13 职场文书
公司收款委托书范本
2014/09/20 职场文书
毕业论文指导教师评语
2014/12/30 职场文书
关于环保的宣传稿
2015/07/23 职场文书
安全生产学习心得体会
2016/01/18 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书
mysql全面解析json/数组
2022/07/07 MySQL