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 03 Javascript
超强的IE背景图片闪烁(抖动)的解决办法
Sep 09 Javascript
javascript 动态创建表格的2种方法总结
Mar 04 Javascript
AngularJS基础 ng-open 指令简单实例
Aug 02 Javascript
AngularJs Understanding the Model Component
Sep 02 Javascript
js实现加载更多功能实例
Oct 27 Javascript
Vue.use源码分析
Apr 22 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
Sep 13 Javascript
五步轻松实现JavaScript HTML时钟效果
Mar 25 Javascript
微信小程序仿微信运动步数排行(交互)
Jul 13 Javascript
微信小程序如何实现在线客服功能
Oct 16 Javascript
node使用async_hooks模块进行请求追踪
Jan 28 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
PHP strtotime函数详解
2009/12/18 PHP
查找mysql字段中固定字符串并替换的几个方法
2012/09/23 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
js getElementsByTagName的简写方式
2010/06/27 Javascript
JavaScript格式化数字的函数代码
2010/11/30 Javascript
AngularJS基础 ng-init 指令简单示例
2016/08/02 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
微信小程序使用第三方库Immutable.js实例详解
2016/09/27 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
JS取模、取商及取整运算方法示例
2016/10/13 Javascript
Bootstrap和Java分页实例第一篇
2016/12/23 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
layui table 参数设置方法
2018/08/14 Javascript
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
[02:32]DOTA2英雄基础教程 祸乱之源
2013/12/23 DOTA
python通过exifread模块获得图片exif信息的方法
2015/03/16 Python
python如何获取服务器硬件信息
2017/05/11 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
东南亚排名第一的服务市场:kaodim
2019/03/28 全球购物
美国家居装饰店:Pier 1
2019/09/04 全球购物
办护照工作证明范本
2014/01/14 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
重阳节活动总结
2014/08/27 职场文书
个人专业技术总结
2015/03/05 职场文书
2015年大学学生会工作总结
2015/05/13 职场文书
素质教育培训心得体会
2016/01/19 职场文书
pytorch常用数据类型所占字节数对照表一览
2021/05/17 Python
Android开发手册TextInputLayout样式使用示例
2022/06/10 Java/Android