美文网首页
vue2.0自定义过滤器

vue2.0自定义过滤器

作者: 风间澈618 | 来源:发表于2018-05-12 17:01 被阅读0次

为了不让自己日后有这样的疑问,这段时间到底在干嘛??所以来记录一下。今天是周末,还在公司,唉。

Vue.filter(id,[definition])
参数
{string} id
{Function} [definition]

// 注册
Vue.filter('my-filter', function (value) {
  // 返回处理后的值
})

// getter,返回已注册的过滤器
var myFilter = Vue.filter('my-filter')

过滤器串联

{{ message | filterA | filterB }}
{{ message | filterA('arg1', arg2) }}  
//filterA 被定义为接收三个参数的过滤器函数,其中 message 的值作为第一个参数,
普通字符串 'arg1' 作为第二个参数,表达式 arg2 的值作为第三个参数

在组件内部定义

methods:{
 filters:{
  capitalize:function(){}
}
}

全局定义过滤器

Vue.filter('capitalize', function (value) {
  if (!value) return ''
  value = value.toString()
  return value.charAt(0).toUpperCase() + value.slice(1)
})

举例
在模块化的vue开发中,可以把过滤器写在一个单独的js文件里面,在js里面书写各类过滤器
时间过滤器

export default{
    dateformatter:(str)=>{
         if (!str) return ''
        var date = new Date(str)
        var time = new Date().getTime() - date.getTime()//单位毫秒
        if (time < 0) {
            return ''
        } else if ((time / 1000 < 30)) {
            return '刚刚'
        } else if (time / 1000 < 60) {
            return parseInt((time / 1000)) + '秒前'
        } else if ((time / 60000) < 60) {
            return parseInt((time / 60000)) + '分钟前'
        } else if ((time / 3600000) < 24) {
            return parseInt(time / 3600000) + '小时前'
        } else if ((time / 86400000) < 31) {
            return parseInt(time / 86400000) + '天前'
        } else if ((time / 2592000000) < 12) {
            return parseInt(time / 2592000000) + '月前'
        } else {
            return parseInt(time / 31536000000) + '年前'
        }
    }
}

在main.js中import进去,注册

import dateformatter from './uitls/xxx.js'
//全局注册组件,也许过虑器有很多
Object.keys(filters).forEach(function(k){
    return Vue.filter(k,filters[k])
})

相关文章

  • Vue过滤器

    vue2.0取消了自带的过滤器,只能自定义过滤器

  • vue2.0和1.0的区别

    vue2.0跟1.0差别:(总体变化不大) 1.关于过滤器: 2.0移除了自带过滤器,但是保留了自定义过滤器的功能...

  • vue学习大纲3-过滤器、指令、动画

    自定义过滤器: 在vue1.0中有过滤器,比如: 在vue2.0中所有的内置过滤器都被销毁了,2.0推荐我们自己写...

  • vue自定义过滤器

    vue2.0废弃了内置过滤器,允许自定义过滤器。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后...

  • Vue2.0系列(六)过滤器

    vue2.0已经废弃了过滤器,需要自定义过滤器,用于一些常见的文本格式化。感觉超级好用!! 过滤器可以用在两个地方...

  • VUE初级入门实践

    VUE概述 生命周期 指令 内置指令 自定义指令 过滤器 内置过滤器 VUE1.0版本 VUE2.0版本(无内置过...

  • Vue2.0中Filter的使用问题

    vue2.0里,不再有自带的过滤器,需要自己定义过滤器 在 Vue1.0 中内置了几种实用的过滤器函数如 uppe...

  • vue filter 过滤器使用

    格式化时间 自定义全局过滤器 vue 自定义过滤器分为"全局过滤器"和"局部过滤器"两种。 一、 全局过滤器 全局...

  • 2017-5-25 AngularJs

    service 自定义服务 1.指令 内置指令 自定义指令 2.过滤器 内置过滤器 自定义过滤器 3.服务 内置服...

  • 自定义过滤器的封装

    封装自定义过滤器 引入过滤器 添加+注册过滤器 使用过滤器

网友评论

      本文标题:vue2.0自定义过滤器

      本文链接:https://www.haomeiwen.com/subject/qrkhdftx.html