vue中filters 传入两个参数 / 使用两个filters的实现方法


Posted in Javascript onJuly 15, 2019

先给大家介绍下vue中filters 传入两个参数 / 使用两个filters

.vue

传入两个参数

<van-col>{{第一个参数|formatVisitTime(第二个参数)}}</van-col>

使用两个filters

<van-tag plain :color="item.CreateTime(参数)|formatVisitDate(filters方法)|formatVisitDateColor(filters方法)">{{item.CreateTime|formatVisitDate}}</van-tag>

format.js

export const formatVisitTime = (beginTime, finishTime) => {
  if (!beginTime) {
    return "--";
  }
  if (!finishTime) {
    return formatDateTime(beginTime, 'hh:mm:ss')
  }
  beginTime = new Date(beginTime);
  finishTime = new Date(finishTime);
  let mss = Math.abs(beginTime.getTime() - finishTime.getTime());
  let hours = Math.floor(mss / (1000 * 60 * 60));
  let minutes = Math.floor((mss % (1000 * 60 * 60)) / (1000 * 60));
  return hours + "小时" + minutes + "分钟";
}

.ts

import format from "@/plugins/format";
@Component({
 filters: {
  formatVisitTime(beginTime, finishTime) {
   return format.formatVisitTime(beginTime, finishTime);
  }
 }
})

ps:下面看下Vue 中的 filter 带多参

场景

在 vue 项目中,团队成员在模板中解析一个 json 字符串,然后这个字符串来自于后台,所以是类型不安全,直接用 JSON.parse 就报错了,这里需要用 trycatch 下。

实际是,因为这个解析 json 字符串的方法是纯函数,且经常用在模板中,所以作为 filter 合适,直接拷贝了其他项目的这个方法过来作为 fitlers 用,如下。

// omit other properties
 filters: {
  tryParseJsonString(jsonStr, defaultValue) {
   let ret = defaultValue;
   if (jsonStr) {
    try {
     ret = JSON.parse(jsonStr) || defaultValue;
    } catch (e) {
     console.warn('JSON格式不正确,解析失败', e.message);
    }
   }

   return ret;
  }
 },
// ...

在模板中,可以绑定到 v-bind,使用如下

<template>
 <comp :images="li.value | tryParseJsonString([])" />
</template>

考虑到这个 filter 使用频繁,所以可以封装进全局 mixin,避免频繁的引用。

参考 https://vuejs.org/v2/guide/fi...

总结

以上所述是小编给大家介绍的vue中filters 传入两个参数 / 使用两个filters的实现方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
DOM 脚本编程中的兄弟节点
Oct 31 Javascript
jquery 提交值不为空的元素示例代码
May 10 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
Sep 06 Javascript
JS动态添加与删除select中的Option对象(示例代码)
Dec 25 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
Apr 12 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
Jun 20 Javascript
AngularJS教程之环境设置
Aug 16 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
Oct 25 Javascript
用move.js库实现百叶窗特效
Feb 08 Javascript
js实现上传并压缩图片效果
Jan 10 Javascript
ajax前台后台跨域请求处理方式
Feb 08 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
Jul 03 Javascript
微信小程序全局变量改变监听的实现方法
Jul 15 #Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
Jul 15 #Javascript
微信小程序如何使用canvas二维码保存至手机相册
Jul 15 #Javascript
如何给element添加一个抽屉组件的方法步骤
Jul 14 #Javascript
详解vuex的简单todolist例子
Jul 14 #Javascript
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
Jul 13 #Javascript
微信小程序解析富文本过程详解
Jul 13 #Javascript
You might like
简单采集了yahoo的一些数据
2007/02/14 PHP
PHP 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
CodeIgniter连贯操作的底层原理分析
2016/05/17 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
再论Javascript的类继承
2011/03/05 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
Node.js 异步编程之 Callback介绍(一)
2015/03/30 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
jquery事件的ready()方法使用详解
2015/11/11 Javascript
浅谈javascript 函数表达式和函数声明的区别
2016/01/05 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
2016/03/17 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
微信小程序登录态和检验注册过没的app.js写法
2019/05/22 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
python3实现ftp服务功能(客户端)
2017/03/24 Python
Python实现简单的列表冒泡排序和反转列表操作示例
2019/07/10 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
详解Python self 参数
2019/08/30 Python
Python文字截图识别OCR工具实例解析
2020/03/05 Python
Python三维绘图之Matplotlib库的使用方法
2020/09/20 Python
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
制定岗位职责的原则
2013/11/08 职场文书
麦当劳辞职信范文
2014/01/18 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
离婚协议书怎样才有法律效力
2014/10/10 职场文书
服务员岗位职责范本
2015/04/09 职场文书
社区节水倡议书
2015/04/29 职场文书
舞蹈社团活动总结
2015/05/07 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
创业计划书之校园超市
2019/09/12 职场文书
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers