vue中filters 傳入兩個參數(shù) / 使用兩個filters的實現(xiàn)方法
先給大家介紹下vue中filters 傳入兩個參數(shù) / 使用兩個filters
.vue
傳入兩個參數(shù)
<van-col>{{第一個參數(shù)|formatVisitTime(第二個參數(shù))}}</van-col>
使用兩個filters
<van-tag plain :color="item.CreateTime(參數(shù))|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 字符串的方法是純函數(shù),且經(jīng)常用在模板中,所以作為 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...
總結(jié)
以上所述是小編給大家介紹的vue中filters 傳入兩個參數(shù) / 使用兩個filters的實現(xiàn)方法 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Vue Element前端應(yīng)用開發(fā)之常規(guī)的JS處理函數(shù)
在我們使用Vue Element處理界面的時候,往往碰到需要利用JS集合處理的各種方法,如Filter、Map、reduce等方法,也可以涉及到一些對象屬性賦值等常規(guī)的處理或者遞歸的處理方法,本篇隨筆列出一些在VUE+Element 前端開發(fā)中經(jīng)常碰到的JS處理場景,供參考學(xué)習(xí)。2021-05-05vue項目實現(xiàn)一鍵網(wǎng)站換膚效果實例(webpack-theme-color-replacer的使用)
換皮膚一般都是點擊一個按鈕彈出一些皮膚的選項,選中選項后皮膚生效,下面這篇文章主要給大家介紹了關(guān)于vue項目實現(xiàn)一鍵網(wǎng)站換膚效果的相關(guān)資料,文中主要介紹的是webpack-theme-color-replacer的使用,需要的朋友可以參考下2023-02-02vue3.0中ref與reactive的區(qū)別及使用場景分析
ref與reactive都是Vue3.0中新增的API,用于響應(yīng)式數(shù)據(jù)的處理,這篇文章主要介紹了vue3.0中ref與reactive的區(qū)別及使用,需要的朋友可以參考下2023-08-08vue實現(xiàn)微信公眾號h5跳轉(zhuǎn)小程序的示例代碼
本文主要介紹了vue實現(xiàn)微信公眾號h5跳轉(zhuǎn)小程序的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08利用Vite搭建Vue3+ElementUI-Plus項目的全過程
vue3如今已經(jīng)成為默認(rèn)版本了,相信大多數(shù)公司已經(jīng)全面擁抱vue3了,下面這篇文章主要給大家介紹了關(guān)于利用Vite搭建Vue3+ElementUI-Plus項目的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-07-07