老师,关于toRef和toRefs

老师,关于toRef和toRefs

问题描述:

toRef和toRefs​新返回的ref引用,

是否会对原始对象中的对应属性保持响应式链接,

测试了下有点类似双向绑定的特性

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://unpkg.com/vue@next"></script>
<style>
</style>
</head>

<body>
<div id="root"></div>
</body>
<script>
const vue = Vue.createApp({
setup() {
const {
reactive,
toRef,
toRefs
} = Vue;

const data = reactive({
a: 1,
b: 2
})

let {
a,
b
} = toRefs(data)

let c = toRef(data, 'c')

data.a++
console.log(a.value) // 2

b.value++
console.log(data.b) // 3

c.value = 123
console.log(data.c) // 123
},
template: `
<div></div>
`
});
const vm = vue.mount('#root')
</script>

</html>


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,会的,reactive对象解构后不具有响应式,所以用toRefs()包裹reactive对象​,将响应式对象转换为普通对象,其中结果对象的每个 property 都是指向原始对象相应 property 的ref,这样解构后再操作就会对源数据进行修改。

而toRef()也可以用来为源响应式对象上的 property 性创建一个 ref,然后可以将 ref 传递出去,从而保持对其源 property 的响应式连接。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师