vue中过滤器filter的讲解

 更新时间:2019年01月21日 09:22:59   作者:muzidigbig  
今天小编就为大家分享一篇关于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项目通过vue-i18n实现国际化方案(推荐)

    Vue项目通过vue-i18n实现国际化方案(推荐)

    这篇文章主要介绍了Vue项目通过vue-i18n实现国际化方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • vue组件文档(.md)中如何自动导入示例(.vue)详解

    vue组件文档(.md)中如何自动导入示例(.vue)详解

    这篇文章主要给大家介绍了关于vue组件文档(.md)中如何自动导入示例(.vue)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Vue中引入样式文件的方法

    Vue中引入样式文件的方法

    这篇文章主要介绍了Vue中引入样式文件的方法,需要的朋友可以参考下
    2017-08-08
  • 详解vue-cli+element-ui树形表格(多级表格折腾小计)

    详解vue-cli+element-ui树形表格(多级表格折腾小计)

    这篇文章主要介绍了vue-cli + element-ui 树形表格(多级表格折腾小计),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • vue项目打包并部署到Linux服务器的详细过程

    vue项目打包并部署到Linux服务器的详细过程

    我们在会开发项目的同时,也应该了解一下项目是如何部署到服务器的,下面这篇文章主要给大家介绍了关于vue项目打包并部署到Linux服务器的相关资料,需要的朋友可以参考下
    2023-01-01
  • vue2左侧菜单栏收缩展开功能实现

    vue2左侧菜单栏收缩展开功能实现

    vue2左侧菜单栏收缩展开目前是非常常见的,我们在日常开发过程中经常会碰到,这篇文章给大家介绍vue2左侧菜单栏收缩展开功能,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • vue3使用vuedraggable和grid实现自定义拖拽布局方式

    vue3使用vuedraggable和grid实现自定义拖拽布局方式

    这篇文章主要介绍了vue3使用vuedraggable和grid实现自定义拖拽布局方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Vue 同步异步存值取值实现案例

    Vue 同步异步存值取值实现案例

    这篇文章主要介绍了Vue 同步异步存值取值实现案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • vue+element实现页面顶部tag思路详解

    vue+element实现页面顶部tag思路详解

    这篇文章主要介绍了vue+element实现页面顶部tag效果,页面显示由数组循环得出,数组可存储在store里,tags数组里面已经有值,由于默认是白色,所以页面上看不出,接下来就是给选中的标签高亮,需要的朋友可以参考下
    2021-12-12
  • vue中实现代码高亮与语法着色的方法介绍

    vue中实现代码高亮与语法着色的方法介绍

    在Vue的开发过程中,我们经常需要展示代码片段或者进行代码高亮与语法着色,Vue提供了多种方式来实现代码高亮与语法着色,本文将为你详细介绍这些方法,需要的朋友可以参考下
    2023-06-06

最新评论