个人笔记-----Vue中watch和computed的区别【如有不对,欢迎指正】

本文详细对比了Vue.js框架中watch与computed两种响应式属性的使用场景与特性。主要阐述了二者在自定义属性定义、依赖数据变化的处理方式及异步操作支持上的不同,帮助开发者更好地理解并选择合适的数据处理方式。

watch和computed的用法有点相近,
watch

computed

第一个区别
computed 里的fullName他是一个自定义属性,他不能个 data 里面的属性有重复的情况,如果有重复的情况会报错。
而 watch 里面的fullName的属性必须是已经存在的,这个属性要么的 data 里面的,要么的 computed 里面的。
第二个区别
computed定义的这个属性函数里面需要依赖一个或多个数据项,然后将这些数据项进行操作,计算,从而返回一个数据,
而 watch 只能去监听一个已经存在的数据,要么是监听 data 里面的数据,要么去监听 computed 里面计算出来的数据,而 watch 里面的函数会接收两个参数,一个是新属性,一盒是旧属性,
第三个区别
watch 是允许异步操作的,如:监听这个fullName之后呢,将这个fullName传递给后端,后端会返回一个分数,在返回分数之前,我们可以给他设置一个中间状态,数据返回来之后,我们再将数据展示出来,这就是异步操作的步骤。computed 是无法实现的。

<script>
  export default {
    data(){
      return{
        firstName:"11",
        lastName:"22",
        count:0
      }
    },
    computed:{
      fullName:function(){
        return this.firstName + this.lastName
      }
    },
    watch: {
      fullName:function(newVal,oldVal){
        this.count++
      }
    },
  }
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值