vue过滤器的使用 filters

使用

当我们没有设置过滤器的时候我们的代码是这样的

         <el-table-column label="日志类型">
            <template slot-scope="scope">
              <span v-if="scope.row.logType==1">登录退出</span>
              <span v-if="scope.row.logType==2">管理员管理</span>
              <span v-if="scope.row.logType==3">角色管理</span>
              <span v-if="scope.row.logType==4">口令及密码管理</span>
              <span v-if="scope.row.logType==5">用户管理</span>
            </template>
          </el-table-column>

有了过滤器我们的代码是这样的

		<el-table-column label="日志类型">
            <template slot-scope="scope">
              <span>{{scope.row.logType | logTypeFilter}}</span>
            </template>
          </el-table-column>

可见如果页面有很多这种格式的数据,使用文件过滤器还是很好用的

官网介绍

Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示:

{{ message | capitalize }}

过滤器文件的引用与创建

引入
在app.js中引入

require('./modules/filter');  //这个文件放到models文件夹里了,以实际放的为主

filters文件

/**
 * Created by xz on 2020/5/20.
 */
"use strict";

import Vue from 'vue';

function Filter(){};

Filter.logTypeFilter = (val) => {
  let map = {
    "1": "登录退出",
    "2": "管理员管理",
    "3": "角色管理",
    "4": "口令及密码管理",
    "5": "用户管理"
  };
  return map[val] ? map[val] : "";
};

Object.entries(Filter).forEach(item => Vue.filter(item[0], item[1]));


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值