国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue-Cli中自定義過濾器的實現代碼

2019-11-19 15:49:22
字體:
來源:轉載
供稿:網友

本文主要介紹了Vue-Cli中自定義過濾器,分享給大家,也給自己做個筆記

vue2里面移除了內置過濾器,所有過濾器都需要自己定義。

以下例子是使用webpack模版自定義一個日期格式過濾器的例子。

文件結構

.├── src│  ├── Filters│  │  ├── DataFormat.js│  │  └── index.js│  └── main.js└── ...

所有過濾器都放在Filters文件夾下,剩下的就是webpack模版的文件結構,在這里就不完全寫出來。

Filters/DataFormat.js

這個文件主要是寫了過濾器實現的方法,然后export進行導出。

export default (time, fmt) => { fmt = fmt || 'yyyy-MM-dd hh:mm'; let date = new Date(time); if (/(y+)/.test(fmt)) {  fmt = fmt.replace(   RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)  ); } let dt = {  'M+': date.getMonth() + 1,  'd+': date.getDate(),  'h+': date.getHours(),  'm+': date.getMinutes(),  's+': date.getSeconds() } for (let key in dt) {  if (new RegExp(`(${key})`).test(fmt)) {   let str = dt[key] + ''   fmt = fmt.replace(RegExp.$1,     (RegExp.$1.length === 1) ? str : ('00' + str).substr(str.length)   );  } } return fmt;}

這段代碼是在網上找的,我只是對其中稍作修改。

Filters/index.js

這里把所有自定義的過濾器都匯總,方便待會在main.js中一次性添加到全局過濾器中。

如果有多個自定義的過濾器就只需要在這個文件內依次導出就行。

// 導出日期過濾器import dateFormat from './DateFormat'// 導出的時候以key value的形式導出,這里就設置了在全局過濾器中的過濾器名字。export {dateFormat}// 可以繼續導出其他的過濾器

src/main.js

這個文件是程序的主入口,一般負責配置相關的東西。所以添加過濾器的工作毫無疑問的交給它了(也只有在這里能夠拿到Vue對象)。

// 默認會找 Filters/index.jsimport * as filters from './Filters/'// 遍歷所有導出的過濾器并添加到全局過濾器Object.keys(filters).forEach((key) => { Vue.filter(key, filters[key]);})

使用

使用起來很簡單,和正常的使用方式一摸一樣,寫在項目中需要的.vue文件中即可

<template>  <!-- 2017-08-11 21:21 -->  <h1>{{ new Date() | dateFormat }}</h1>    <!-- 2017年08月11日 21:21:05 -->  <h1>{{ new Date() | dateFormat('yyyy年MM月dd日 hh:mm:ss') }}</h1></template>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陆丰市| 宝丰县| 宁河县| 马关县| 黄大仙区| 泗水县| 思茅市| 军事| 垦利县| 大名县| 航空| 扎赉特旗| 玛沁县| 大方县| 阳江市| 崇礼县| 浦北县| 漠河县| 广西| 南雄市| 阿鲁科尔沁旗| 潜江市| 达尔| 镇赉县| 怀柔区| 鸡泽县| 广饶县| 张家口市| 舒城县| 黔西县| 贵定县| 尼木县| 汤阴县| 江源县| 酒泉市| 新余市| 正蓝旗| 礼泉县| 靖江市| 常熟市| 平昌县|