computed和watch、watchEffect


前言

computed 计算属性 : computed储存需要处理的数据值,依赖其它的属性值,并且 computed 的值有缓存,只有它依赖的属性值发生改变,再获取 computed 的值时才会重新计算。

watch监听器:用于监听数据变化,当监听的数据发生变化时执行回调进行后续操作。监听的数据来源有三部分:props、data、computed内的数据;watch提供两个参数(newValue,oldValue),新值,旧值。


一、computed计算属性:

setup(){
   let p = reactive({
       startName:'李',
       endName:'增'
    })
   p.fullName = computed({
       get(){
           return p.startName + '-' + p.endName
        }
       set(val){
           let res = val.split('-')
           p.startName = res[0];
           p.endName = res[1];
        }
    })
}

如上代码所示,startName和endName的值发生改变时,fullName的值根据startName和endName重新进行计算。 

<template>
    <p>total:{
  {arrTotal}}</p>
</template>

<script>
    export default{
        data(){
            return{
                arr:[1,2,3,4]
            }
        },
        mounted(){
            setTimeout(()=>{
                this.arr[0] =5;
            },2000)
        },
        computed:{
            arrTotal:function(){
                let total = 0;
                this.arr.map(item=>{
                    total += item;
                })
                return total;
            }
        }
    }
</script>

computed特点: 

  •  支持缓存,当依赖的数据发生改变&#x
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值