computed和watch的用法及区别

  1. computed:计算属性,应用场景:当一个变量的值受多个变量的值影响。
    解释:计算属性中的属性不需要在data中定义,而且必须要有return,顺带提一句return的原理,return就是把结果返回到调用的地方,并且将程序的控制权一同返回,也就是直接结束了当前的方法。
data(){
    return {
    	firstname:"张",
        lastname:"三"
    }
},
computed(){
    //fullname是自己起的名字,也就是计算属性中的属性,这个值可以直接在页面中显示
    fullname() {
    	return this.firstname+this.lastname
    }
}
  1. watch:监听器,应用场景:当一个变量的值影响着多个变量的值。
    监听器watch中的值需要在data中定义,并且函数有默认的回调参数:newval(新值)和oldval(旧值)
data: {
  firstName: '张',
  lastName: '三',
  fullName: '张三r'
},
watch: {
  firstName: function (oldval,newval) {
    this.fullName = newval + ' ' + this.lastName
  },
  lastName: function (oldval,newval) {
    this.fullName = this.firstName + ' ' + newval
  },
  immediate: true,// 代表在wacth里声明了firstName之后立即先去执行其函数方法
  deep: true //深度监听
}

区别:

computed具有缓存,只有在它的依赖发生改变时才会重新求值。如果依赖没有改变,那么调用它就会直接返回之前的缓存,同时computed对于其中变量的依赖有多个的时候,只要其中一个发生了变化就会触发这个函数watch没有缓存,每次只可以对一个变量进行监控,watch可以是异步的而computed则不行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值