4.Vue之自定义过滤器

介绍

类似于自定义指令,可以用全局方法 Vue.filter() 注册一个自定义过滤器,它接收两个参数:过滤器 ID 和过滤器函数。过滤器函数以值为参数,返回转换后的值

正文

1.系统过滤器

json lowercase uppercase filterBy 注意点:在Vue2.0中已经将系统过滤器给移除了

 {{ msg | json  }}-json格式
 {{ msg | lowercase }} -小写
 {{ msg | uppercase }}-大写
 filterBy -管道  见前面品牌管理案例-过滤器

2.自定义过滤器

  • 私有过滤器 :定义在 VM中的filters对象中的所有过滤器都是私有过滤器
    私有过滤器的弊端是:在多个VM中不能共享,会造成代码的冗余,将来维护成本高
<body>  
    <div id="app">
        {{ time | datefmt}}
    </div>
<script>
new Vue({
    el:'#app',
    data:{
        time:new Date()
    },
    filters:{
        //定义在 VM中的filters对象中的所有过滤器都是私有过滤器
        datefmt:function(input,str,s1){
            var date = new Date(input); 
            var year = date.getFullYear();
            var m = date.getMonth() + 1;
            var d = date.getDate();
            //输出: yyyy-mm-dd
            var fmtStr = year+'-'+m +'-'+d;
            return fmtStr; //输出结果
        }
    }
});
  • 全局过滤器
    <div id="app">
        {{ time | datefmt }}
    </div>
<script>
//1.0 定义全局过滤器
Vue.filter('datefmt',function(input){
    var date = new Date(input); 
    var year = date.getFullYear();
    var m = date.getMonth() + 1;
    var d = date.getDate();
    //输出: yyyy-mm-dd
    var fmtStr = year+'-'+m +'-'+d;
    return fmtStr; //输出结果
});
new Vue({
    el:'#app',
    data:{
        time:new Date()
    }   
});
它接收两个参数:过滤器 ID 和过滤器函数
<!-- 'abc' => 'cba' -->
<span v-text="message | reverse"></span>
Vue.filter('reverse', function (value) {
  return value.split('').reverse().join('')
})
过滤器函数可以接收任意数量的参数:
参数要引号
<!-- 'hello' => 'before hello after' -->
<span v-text="message | wrap 'before' 'after'"></span>
Vue.filter('wrap', function (value, begin, end) {
  return begin + value + end
})

vue2.0详细

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,711评论 19 139
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,187评论 0 29
  • 下载安装搭建环境 可以选npm安装,或者简单下载一个开发版的vue.js文件 浏览器打开加载有vue的文档时,控制...
    冥冥2017阅读 6,208评论 0 42
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 11,309评论 4 129
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,389评论 0 6

友情链接更多精彩内容