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 相关文章推荐
为Extjs加加速(javascript加速)
Aug 19 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
Dec 02 Javascript
最常见和最有用的字符串相关的方法详解
Feb 06 Javascript
在vue项目中引入highcharts图表的方法(详解)
Mar 05 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
Jul 05 Javascript
Element input树型下拉框的实现代码
Dec 21 Javascript
React 使用Hooks简化受控组件的状态绑定
Mar 18 Javascript
前端插件之Bootstrap Dual Listbox使用教程
Jul 23 Javascript
javascript面向对象创建对象的方式小结
Jul 29 Javascript
js tab栏切换代码实例解析
Sep 03 Javascript
vuex入门最详细整理
Mar 04 Javascript
AJAX学习笔记
May 18 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
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
两款万能的php分页类
2015/11/12 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
获取焦点时,利用js定时器设定时间执行动作
2010/04/02 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
Vue使用vue-area-linkage实现地址三级联动效果的示例
2018/06/27 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
Jquery使用each函数实现遍历及数组处理
2020/07/14 jQuery
[09:37]2018DOTA2国际邀请赛寻真——不懈追梦的Team Serenity
2018/08/13 DOTA
Python实现获取网站PR及百度权重
2015/01/21 Python
Python调用C语言开发的共享库方法实例
2015/03/18 Python
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
浅谈Python生成器generator之next和send的运行流程(详解)
2017/05/08 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
numpy数组之存取文件的实现示例
2019/05/24 Python
python tkinter窗口最大化的实现
2019/07/15 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
使用Pytorch搭建模型的步骤
2020/11/16 Python
基于HTML5 Canvas:字符串,路径,背景,图片的详解
2013/05/09 HTML / CSS
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
旅游与环境专业求职信
2014/06/05 职场文书
汽车销售员岗位职责
2015/04/11 职场文书
2015年助理政工师工作总结
2015/05/26 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
欢送领导祝酒词
2015/08/12 职场文书
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js