在Vue methods中调用filters里的过滤器实例


Posted in Javascript onAugust 30, 2018

需求:vue中,除了在模板中使用过滤器,有时候,methods中也需要使用filters中的过滤器,

网友hongz1125提出的解决办法:

this.$options.filters[filter](...args)  //这种方法很简单,也很实用

下面是我的方法,有点复杂。建议使用上面网友说的方法。

filters: {
    formatScore(score) {
      if (score < 20) {
        score = '不合格';
      } else if (score >= 20 && score <= 27) {
        score = '合格';
      } else if (score >= 28 && score <= 31) {
        score = '良好';
      } else if (score > 31) {
        score = '优秀';
      }
      return score
    }
  },
methods: {
  formatScore(score) {
    if (score < 20) {
      score = '不合格';
    } else if (score >= 20 && score <= 27) {
      score = '合格';
    } else if (score >= 28 && score <= 31) {
      score = '良好';
    } else if (score > 31) {
      score = '优秀';
    }
    return score
  },
  getPhysicalResult() {
    this.$http.get('/rc_ChildTest/testResult').then((res) => {
      this.isDisplayIcon = this.formatScore(score参数);//使用过滤器方法,需要单独写一个一模一样的方法。通过this调用
    })
  },
  },

解决方法:

1.建立一个公共的report.js文件,提取封装公共js

export default {
  formatScore(score) {
    if (score < 20) {
      score = '不合格';
    } else if (score >= 20 && score <= 27) {
      score = '合格';
    } else if (score >= 28 && score <= 31) {
      score = '良好';
    } else if (score > 31) {
      score = '优秀';
    }
    return score
  },
}

2.导入report.js 并使用

import report from 'js文件所在位置'
filters: {
    formatScore(score) {
      return report.formatScore(score);//使用导入的report.js中的report.formatScore方法
    }
  },
methods: {
    getPhysicalResult() {
      this.$http.get('/rc_ChildTest/testResult').then((res) => {
        this.isDisplayIcon = report.formatScore(score参数);//这里直接使用导入的report.js中的report.formatScore方法。在methods方法中可以使用过滤器中的方法。
      })
    },
  },

我是这么解决的,大家如果还有更好的方法,希望大家写在评论里,欢迎大家批评指正。

以上这篇在Vue methods中调用filters里的过滤器实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js Function类型
Dec 04 Javascript
js对象关系图 方便dom操作
Mar 18 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
May 10 Javascript
使用js操作cookie的一点小收获分享
Sep 03 Javascript
jquery div拖动效果示例代码
Dec 08 Javascript
JavaScript中switch语句的用法详解
Jun 03 Javascript
概述jQuery的元素筛选
Nov 23 Javascript
JavaScript使用闭包模仿块级作用域操作示例
Jan 21 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
Mar 07 Javascript
vue使用一些外部插件及样式的配置代码
Nov 18 Javascript
node实现mock-plugin中间件的方法
Dec 25 Javascript
Jquery $.map使用方法实例详解
Sep 01 jQuery
vue 根据数组中某一项的值进行排序的方法
Aug 30 #Javascript
对vue中methods互相调用的方法详解
Aug 30 #Javascript
原生JS+HTML5实现的可调节写字板功能示例
Aug 30 #Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
Aug 30 #Javascript
解决jQuery使用append添加的元素事件无效的问题
Aug 30 #jQuery
jsonp跨域及实现百度首页联想功能的方法
Aug 30 #Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
Aug 30 #Javascript
You might like
饭制《星际争霸》Mod:优化游戏机制 增加新单位
2017/07/02 星际争霸
php中对2个数组相加的函数
2011/06/24 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
解析WordPress中函数钩子hook的作用及基本用法
2015/12/22 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
javascript基础之查找元素的详细介绍(访问节点)
2013/07/05 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
JavaScript中的Math.LOG2E属性使用详解
2015/06/14 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
2018/08/20 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
python实现冒泡排序算法的两种方法
2018/03/10 Python
Python格式化输出%s和%d
2018/05/07 Python
python如何导入依赖包
2020/07/13 Python
如何通过Python实现RabbitMQ延迟队列
2020/11/28 Python
详解HTML5表单新增属性
2016/12/21 HTML / CSS
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
保安自我鉴定范文
2013/12/08 职场文书
宿舍保安职务说明书
2014/02/25 职场文书
教室布置标语
2014/06/26 职场文书
贷款委托书怎么写
2014/08/02 职场文书
经济贸易系求职信
2014/08/04 职场文书
德育标兵事迹材料
2014/08/24 职场文书
水电维修专业推荐信
2014/09/06 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
社区母亲节活动总结
2015/02/10 职场文书
团结友爱主题班会
2015/08/13 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL