关于 vue3 用 ref 定义响应式的问题

35 天前
 xing393939

代码 1: https://run.iviewui.com/GJQd3slb

代码 2: https://run.iviewui.com/FoCmnwDq

为什么代码 1 的输入框输入内容后,点击 click ,txt 的内容还是空的,而代码 2 就是 ok 的?

(两者的区别仅仅在于第 8 行)

1158 次点击
所在节点    Vue.js
8 条回复
rabbbit
35 天前
txt.value = msg.aaa
->
txt.value = msg.value.aaa
qq347891134
35 天前
少了.value ,应该是
const onClick = () => {
txt.value = msg.value.aaa
}
</script>
QAQqingju
35 天前
ref 需要.value
zzzzhan
35 天前
你知道赋值给 txt.value ,为什么不知道取值的时候也要取 msg.value
peasant
35 天前
https://cn.vuejs.org/api/reactivity-core#ref

用 ref 的在 js 里获取值必须用.value 来取值,reactive 不需要
marsKnight
35 天前
vue3 中 ref 和 reactive 使用是不一样的 ref 创建的必须使用.value 去访问值 reactive 创建的可以直接通过对象属性去修改值 楼主可以看看官网二者介绍
lisongeee
35 天前
ts 的应用场景之一就是这种代码,在 ts 里你的第一段代码会报编译错误
Dik1212
34 天前
我好奇,定义 const msg = ref({}),你的 msg.aaa 编译器不报错?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1041065

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX