1.変換filter.js書かれたスクリプトのために新しいフォルダを作成します。
import Vue from "vue";
export default {
dateFormat(dateTime, fmt) {
if (dateTime) {
let date = new Date();
//ios new Date()需要把'-'转换成'/'
if (typeof dateTime === "object" || typeof dateTime === "number")
date = new Date(dateTime);
else {
date =
typeof dateTime === "string" && dateTime.split("-").length === 1
? new Date(parseInt(dateTime))
: new Date(dateTime.replace(/-/g, "/"));
}
fmt = fmt ? fmt : "yyyy-MM-dd hh:mm:ss";
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(
RegExp.$1,
(date.getFullYear() + "").substr(4 - RegExp.$1.length)
);
}
let o = {
yyyy: date.getFullYear(),
"M+": date.getMonth() + 1,
"d+": date.getDate(),
"h+": date.getHours(),
"m+": date.getMinutes(),
"s+": date.getSeconds()
};
for (let k in o) {
if (new RegExp(`(${k})`).test(fmt)) {
let str = o[k] + "";
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length === 1 ? str : ("00" + str).substr(str.length)
);
}
}
return fmt;
} else {
return "--";
}
},
//计算距今天天数
calcDate(date) {
let newDate = new Date(
Vue.filter("dateFormat")(date, "yyyy-MM-dd")
).getTime();
let nowDate = new Date(
Vue.filter("dateFormat")(new Date(), "yyyy-MM-dd")
).getTime();
date = Math.abs(nowDate - newDate) / 86400000;
return date;
},
findNameFromList(dictList, code) {
if (code) {
if (dictList.find(item => item.value === code.toString())) {
return dictList.find(item => item.value === code.toString()).label;
} else {
return "--";
}
}
},
//任务状态
getServeStatus(type) {
if ("1001" == type) {
return "待受理";
} else if ("1002" == type) {
return "待核实";
} else if ("1003" == type) {
return "待支付";
} else if ("1004" == type) {
return "待派工";
} else if ("1005" == type) {
return "待办结";
} else if ("1006" == type) {
return "已办结";
} else if ("1007" == type) {
return "已评价";
} else if ("1008" == type) {
return "重新派工";
} else if ("1009" == type) {
return "取消服务";
} else {
return "";
}
}
};
2.使いやすさのために、私たちは、フィルタ・レジスタのグローバルを使用します。この時点で、main.jsを変更したいです
main.js
import { filter } from '@/libs'; //引入filter.js
ps:在libs文件夹下index.js中统一导出
例如:
import axiosHttp from './axiosHttp'
import api from './api'
import dict from './dict'
import directive from './directive'
import filter from './filter'
import util from './util'
export { axiosHttp, api, dict, directive, filter, util }
ps:end
Object.entries(filter).forEach(item => Vue.filter(item[0],item[1]))
由于vue filter要接收两个参数,所以要使用entries转换为数组,
这样可以吧filter 中的每一个方法都遍历出来,通过键值对形式注册
3.塗装髭で直接使用するページ、フィルタのサポート
{{1578967815575、 'YYYY / MM / DD' | DATEFORMAT}}
フォーマットは、この場合には、オンデマンドで配信することができ、YYY / MM / DD、また、HHを追加することができます:mm:ssのを