vue3中的isRef toRef toRefs readonly

目录

isRef  

toRef

 toRefs

 readonly


isRef  

isRef 判断是否为响应性变量 

用法:isRef("变量"),





vue3中的isRef toRef toRefs readonly_第1张图片点击按钮控制台打印

vue3中的isRef toRef toRefs readonly_第2张图片

从obj.name不是响应式数据看出引用数据的属性值不是响应式的。

toRef

toRef 把引用数据的属性值设置为变量 并且关联和设置为响应性变量

用法:let x=toRef(obj,"x") // 隐式 let x=ref(obj.x);并且响应到obj对象去,在script里边取值时要用 .value





vue3中的isRef toRef toRefs readonly_第3张图片点击按钮之后界面和控制台:

vue3中的isRef toRef toRefs readonly_第4张图片vue3中的isRef toRef toRefs readonly_第5张图片

控制台打印为true说明为obj.name成功变为响应式数据,再由界面的小狮子变为小羊说明该响应式数据成功响应到了obj对象里去

 toRefs

toRefs 引用数据响应式解构

用法:如,let obj2=reactive({a:10,b:20})
let {a,b}=toRefs(obj2)//a,b变量具备响应功能、在script里边取值时要用 .value

 普通的结构是不能具备 响应式数据的如:





vue3中的isRef toRef toRefs readonly_第6张图片点击按钮后界面和控制台:

 vue3中的isRef toRef toRefs readonly_第7张图片

发现数据刷新界面却没有刷新,说明普通解构是不具有响应式数据的。

我们稍作改变如:





vue3中的isRef toRef toRefs readonly_第8张图片 此时再点击按钮得到的变化为:

vue3中的isRef toRef toRefs readonly_第9张图片vue3中的isRef toRef toRefs readonly_第10张图片

由此可以看出数据改变界面也跟着改变,所以  toRefs解构是响应式数据

 readonly

readonly 把数据变为只读功能

 用法:如:let obj=readonly ({ })





 vue3中的isRef toRef toRefs readonly_第11张图片点击按钮之后界面和控制台:

 vue3中的isRef toRef toRefs readonly_第12张图片

vue3中的isRef toRef toRefs readonly_第13张图片 

 由此看出数据没有被改变,且界面也没有刷新。

你可能感兴趣的:(Vue,javascript,前端,vue.js)