简介:
computed 计算属性 可以对当前实例上的数据进行计算,并缓存下来,只有当依赖的响应式数据改变时,才重进计算,否则每次取到的计算属性数据都是从缓存中取到的(>1)
计算属性还是和vue2一样,没啥特别大的改变
**个人理解:**计算属性,说白了也是实例数据的一种,只是这个属性依赖于当前实例的其他数据,并且具有缓存功能,就像我们在data中定义一个name并且初始化的时候给一个值,相对于data中的初始化数据,只是一个依赖于其他的响应式数据进行改变的data数据

重点:计算属性不能对依赖数据进行赋值、修改,不能操作DOM,只能说是依赖于某个值得到某个值,其他的都不行
在vue3中,计算属性默认传输一个参数,就是数据的getter函数,如下图所示
在这里插入图片描述可以看出,计算属性返回的是一个Ref对象,并且该对象只能只读,不能修改,如果我们尝试修改,程序不报错,但是计算属性的值没有变,这里计算属性的缓存特性就不贴图了,自己可以试验一下
在setup中使用计算属性/让计算属性可以修改,给计算属性对象中写set和get方法,如下所示:

 const name = ref(1);
    const newName=computed({
      get:()=>{
        console.log(`我是get函数值=======${name.value}`)
        return name.value
      },
      set:(newValue)=>{
        console.log(`我是set函数值======${newValue}`)
        name.value = newValue
      }
    })

仅记录平常学习

Logo

前往低代码交流专区

更多推荐