Vue-Cli中自定义过滤器的实现代码


Posted in Javascript onAugust 12, 2017

本文主要介绍了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.js
import * 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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 弹出窗口中是否显示地址栏的实现代码
Apr 14 Javascript
读jQuery之五(取DOM元素)
Jun 20 Javascript
借助javascript代码判断网页是静态还是伪静态
May 05 Javascript
js单独获取一个checkbox看其是否被选中
Sep 22 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
Mar 13 Javascript
javascript中substring()、substr()、slice()的区别
Aug 30 Javascript
浅析Javascript中bind()方法的使用与实现
Apr 29 Javascript
浅谈JavaScript中的分支结构
Jul 01 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
Oct 27 Javascript
input输入密码变黑点密文的实现方法
Jan 09 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
Aug 16 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
Sep 04 Javascript
react开发教程之React 组件之间的通信方式
Aug 12 #Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
Aug 12 #Javascript
浅谈关于angularJs中使用$.ajax的注意点
Aug 12 #Javascript
详解Vue-Cli 异步加载数据的一些注意点
Aug 12 #Javascript
js模块加载方式浅析
Aug 12 #Javascript
浅谈angular2 组件的生命周期钩子
Aug 12 #Javascript
Node.js pipe实现源码解析
Aug 12 #Javascript
You might like
分享php多功能图片处理类
2016/05/15 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
2016/11/05 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
尽可能写&quot;友好&quot;的&quot;Javascript&quot;代码
2007/01/09 Javascript
一个选择最快的服务器转向代码
2009/04/27 Javascript
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
2014/02/07 Javascript
JavaScript获取图片真实大小代码实例
2014/09/24 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
React Router基础使用
2017/01/17 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
JS验证全角与半角及相互转化的介绍
2017/05/18 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
2018/11/30 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
mac系统安装Python3初体验
2018/01/02 Python
详解python中asyncio模块
2018/03/03 Python
教你用Python创建微信聊天机器人
2020/03/31 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
解决pycharm 安装numpy失败的问题
2019/12/05 Python
python绘制雪景图
2019/12/16 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
基于python代码批量处理图片resize
2020/06/04 Python
Python自动化操作实现图例绘制
2020/07/09 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
请用用Java代码写一个堆栈
2012/01/26 面试题
总经理2015中秋节致辞
2015/07/29 职场文书
php解析非标准json、非规范json的方式实例
2022/05/10 PHP