Vue 中全局过滤器的使用

时间:2022-07-28
本文章向大家介绍Vue 中全局过滤器的使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

首先需要在 main.js 中注册过滤器:

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 这个数字,不然用户无法理解。

在使用的时候就可以这样使用:

<td>{{CHARGE | optionKV("C")}}</td>

其中 CHARGE 是:

CHARGE = [
  {key: "C", value: "收费"},
  {key: "F", value: "免费"}
];