一、ref 的作用就是将一个原始数据类型(primitive data type)转换成一个带有响应式特性的数据类型,原始数据类型共有7个,分别是:String/Number/BigInt/Boolean/Symbol/Null/Undefined
用法 》头部导入:import {ref} from 'vue' ; 声明:const name = ref('jay');获取值:console.log(name.value);
二、reactive是用来定义更加复杂的数据类型,但是定义后里面的变量取出来就不在是响应式Ref对象数据了,所以需要用toRefs函数转化为响应式数据对象。
import { computed, reactive,toRefs } from "vue";
const data = reactive({name: "daxiong",birthYear: 2000});//data 是响应式的
const refData = toRefs(data);//解构data后得到的新对象丧失响应式,refData可以为对象中的属性增加响应式,refData中的每个属性是响应式的
console.log(refData.name);
此时 refData中的属性 就是响应式的。
注:toRefs的作用,它可以将一个响应型对象(reactive object) 转化为普通对象(plain object),同时又把该对象中的每一个属性转化成对应的响应式属性(ref)。说白了就是放弃该对象(Object)本身的响应式特性(reactivity),转而给对象里的属性赋予响应式特性(reactivity)
isRef:检测一个变量是否是ref响应式,返回true,false。
watchEffect():立即运行一个函数,同时响应式地追踪其依赖,并在依赖更改时重新执行。
unref 这个 api 来获取到响应式变量参数本身。const v = unref(refObj);
参考:https://zhuanlan.zhihu.com/p/359763090

posted on 2022-08-18 14:36  邢帅杰  阅读(3368)  评论(0编辑  收藏  举报