1. 程式人生 > >vue-cli專案中使用全域性過濾器及傳參

vue-cli專案中使用全域性過濾器及傳參

全域性過濾器使用

一、新建一個js檔案,放置過濾器,例如放置main.js同級,新建filters.js(以日期過濾器為例,使用了過濾器傳參,如不需要則去掉第二個引數即可,第一個引數需保留)
// 過濾日期格式,傳入時間戳,根據引數返回不同格式
const formatTimer = function(val, hours) {
    if (val) {
        var dateTimer = new Date(val * 1000);
        var y = dateTimer.getFullYear();
        var M = dateTimer.getMonth() + 1;
        var d = dateTimer.getDate();
        var h = dateTimer.getHours();
        var m = dateTimer.getMinutes();
        M = M >= 10 ? M : "0" + M;
        d = d >= 10 ? d : "0" + d;
        h = h >= 10 ? h : "0" + h;
        m = m >= 10 ? m : "0" + m;
        if (hours) {
            return y + "-" + M + "-" + d + " " + h + ":" + m;
        } else {
            return y + "-" + M + "-" + d
        }
    }

}
export {
    formatTimer
}
二、再main.js中引入
// 引入全域性過濾器
import * as filters from './filters'
Object.keys(filters).forEach(key => {
    Vue.filter(key, filters[key])
})
三、直接在專案中使用
<div class="fr">{{item.add_time | formatTimer('hours')}}</div>
四、過濾器傳參

如需傳參,直接在過濾器後跟引數,在過濾器js中,進行設定,如上(一)

五、效果圖

在這裡插入圖片描述