vue filter 过滤器

vue filter过滤器简单介绍一下,就是把一个数经过过滤器之后变换出来的另一种方式呈现,比如时间的格式化,或者添加一些装饰之类的等。

过滤器分为两种:一种全局过滤器;另一种是局部过滤器

1,全局过滤器

1,在 mian.js 中定义全局过滤器

Vue.filter('allFilter',function(val){
  return val + '我是全局过滤器'
})

2,在其他的页面中调用

<div>{{ value  | allFilter }}</div>

展示:
image.png

注:如果过滤器定义的比较多时,我们可以单独建立一个文件,之后把这个文件引入到 main.js 中的即可

2,局部过滤器

1,在定义局部过滤器页面中定义

export default {
  props: ["dir"],
  data() {
    return { };
  },
 filters: {
    allFilter(val) {
      return val + "我是局部过滤器";
    }
  }
};

2,在其他的页面中调用

<div>{{ value  | allFilter }}</div>

展示:
image.png

3,过滤器传参

注:如果是文字之类的,也可以用过滤器替换其中的一些词
案例是全局过滤器,局部过滤器同理

Vue.filter('msgformat',function( msg, value ){
//字符串  replace 方法,第一个参数,除了写一个 字符串之外,还可以定义一个正则,g修饰符表示全局匹配
    return msg.replace(/单纯/g, value )
})

页面中调用

<p>{{ msg | msgformat('美丽') }}</p>

export default {
  props: ["dir"],
  data() {
    return {// 把 msg 里面的 单纯 变为 美丽
        msg:'我是一个单纯的少女,单纯的我,傻傻地问,世界上谁才是最单纯的人'
     };
  },
}

展示:

image.png

注:过滤器可以传递多个参数

Vue.filter('msgformat',function( msg, value1,value2 ){
//字符串  replace 方法,第一个参数,除了写一个 字符串之外,还可以定义一个正则,g修饰符表示全局匹配
    return msg.replace(/单纯/g, value1+value2 )
})
<p>{{ msg | msgformat('美丽','123') }}</p>

展示:

image.png

过滤器还可以进行叠加使用

// 在main.js 定义两个全局过滤器
Vue.filter('allFilter',function(msg,value1,value2){
  return msg.replace(/单纯/g, value1+value2 )
})

Vue.filter('allFilter2',function(msg,value1){
  return value1+ '!!!'
})

// 页面中调用
<div>{{ msg | allFilter('美丽','123') | allFilter2(msg)}}</div>

同理,局部过滤器也是同样的方法

以上就是过滤器的用法
补充:时间格式化

Vue.filter('dateformat', function (datestr, pattern = '') {
    //根据给的时间符串,得到特定的时间
    var dt = new Date(datestr)
    //  yyyy-mm-dd
    var y = dt.getFullYear()
    var m = dt.getMonth() + 1
    var d = dt.getDate()

    //return y + '-'+ m + '-' + 'd'
    //return 'yyyy+mm+dd'
    if (pattern.toLowerCase() === 'yyyy-mm-dd') {
      return `${y}-${m}-${d}`  //这个的引号是 反引号,在键盘1的左边
    } else {
      var hh = dt.getHours()
      var mm = dt.getMinutes()
      var ss = dt.getSeconds()

      return `$(y)-$(m)-$(d) $(hh):$(mm):$(ss)`
    }

  })

我写了一个简单的 vue 这方面的 dome,链接:https://github.com/zhongmin2011/vue-dome

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容