首先需要在 main.js 中注册过滤器:
代码语言:javascript复制import filter from './filter/filter'
// 全局过滤器
Object.keys(filter).forEach(key => {
Vue.filter(key, filter[key]);
});
同级目录下的 filter
文件如下:
let optionKV = (list, key) => {
if (!list || !key) {
return "";
} else {
let result = "";
for (let i = 0; i < list.length; i ) {
if (key === list[i]["key"]) {
result = list[i]["value"];
}
}
return result;
}
};
export default {
optionKV
}
该方法的作用就是根据传入的对象数组,返回 key
对应的 value
;
主要的应用场景是:后端往往会用一个数字或者字母代表中文,比如 1 代表开启,前端在获取到 1 的时候需要通过过滤器转化为中文显示,而不是 1 这个数字,不然用户无法理解。
在使用的时候就可以这样使用:
代码语言:javascript复制<td>{{CHARGE | optionKV("C")}}</td>
其中 CHARGE
是:
CHARGE = [
{key: "C", value: "收费"},
{key: "F", value: "免费"}
];