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 事件对象的实现
Jul 13 Javascript
xmlhttp缓存清除的2种解决方法
Dec 13 Javascript
javascript html实现网页版日历代码
Mar 08 Javascript
深入浅析javascript中的作用域(推荐)
Jul 19 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
Dec 07 Javascript
Vue中使用vux配置代码详解
Sep 16 Javascript
Vue的生命周期操作示例
Sep 17 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
Oct 26 jQuery
vue v-on:click传递动态参数的步骤
Sep 11 Javascript
Vue时间轴 vue-light-timeline的用法说明
Oct 29 Javascript
js中延迟加载和预加载的具体使用
Jan 14 Javascript
JavaScript实现4位随机验证码的生成
Jan 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脚本代码
2011/02/19 PHP
php中利用post传递字符串重定向的实现代码
2011/04/21 PHP
PHP Cookie学习笔记
2016/08/23 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
laravel数据库查询结果自动转数组修改实例
2021/02/27 PHP
jQuery实现图片与文字描述左右滑动自动切换的方法
2015/07/27 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
Jquery实现的简单轮播效果【附实例】
2016/04/19 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
jquery实现左右滑动式轮播图
2017/03/02 Javascript
B/S(Web)实时通讯解决方案分享
2017/04/06 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
vue实现动态列表点击各行换色的方法
2018/09/13 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
webpack3.0升级4.0的方法步骤
2020/04/02 Javascript
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
python判断图片宽度和高度后删除图片的方法
2015/05/22 Python
详解python单例模式与metaclass
2016/01/15 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
2018/09/04 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
Python-ElasticSearch搜索查询的讲解
2019/02/25 Python
Python地图绘制实操详解
2019/03/04 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
python里反向传播算法详解
2020/11/22 Python
jupyter notebook指定启动目录的方法
2021/03/02 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
巴黎欧莱雅法国官网:L’Oreal Paris
2019/04/30 全球购物
后勤部经理岗位职责
2014/02/23 职场文书
大学推普周活动总结
2015/05/07 职场文书
尼克胡哲观后感
2015/06/08 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
分享几种python 变量合并方法
2022/03/20 Python