巧用computed计算属性和watch监视

一.computed

(1)当需要进行数值计算并且依赖于其他属性值时,一般用computed,避免每次获取值时重新计算。(computed具有缓存特性
(2)当前端展示的数据需要根据后端返回的某个字段判断时,一般可以用computed结合switch…case…(如列表的某个字段及图标,图标颜色需要根据后端返回的某个字段判断,这部分数据是有规律的,并不完全是后端直接返回,就需要前端在computed判断)其实和(1)情况类似,但一开始没想到

 defaultType() {
        let defaultType = {}
        switch (this.activeTabType) {
        case 'exam':
          defaultType = {
            name:       '考试',
            icon:       'icon-woderenwu-kaoshi',
            iconColor:  '#F5534F',
          }
          break
        case 'studyProject':
          defaultType = {
            name:       '学习项目',
            icon:       'icon-woderenwu-xuexixiangmu',
            iconColor:  '#4EAAFF',
          }
          break
        case 'studyTask':
          defaultType = {
            name:       '学习任务',
            icon:       'icon-woderenwu-xuexi',
            iconColor:  '#9455F1',
          }
          break
        case 'evaluation':
          defaultType = {
            name:       '评估',
            icon:       'icon-woderenwu-pinggu',
            iconColor:  '#36DED1',
          }
          break
        case 'investigation':
          defaultType = {
            name:       '调研',
            icon:       'icon-woderenwu-tiaoyan',
            iconColor:  '#FC7F48',
          }
          break
        default:
        }
        return defaultType
  },

二.watch

当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的
一般我的使用场景:
(1)一个请求需要的参数很多,每次参数变化需要重新发请求时,可以用watch监视参数变化,并配合deep:true使用

watch: {
      filterParams: {          // filterParams是发请求带给服务器的参数
        handler: function() {
          this.loadData()         // 发请求时调用的方法
        },
        deep:      true,
        immediate: true,
      },
}

(2)数据变化时需要进行异步操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值