Vue3 的解包 有什么内在逻辑吗?

感觉一会能自动解,一会不能的,有什么内在逻辑吗?

阅读 3.6k
2 个回答

官方文档 中已经说明了:

ref 在模板中作为顶层属性被访问时,它们会被自动“解包”,所以不需要使用 .value
请注意,仅当 ref 是模板渲染上下文的顶层属性时才适用自动“解包”。 例如, foo 是顶层属性,但 object.foo 不是。
值得注意的是,当访问到某个响应式数组或 Map 这样的原生集合类型中的 ref 元素时,不会执行 ref 的解包。

相关阅读

#ref 在模板中的解包 - 响应式基础 | Vue.js
#reactive() - 响应式 API:核心 | Vue.js

因为源码里面的proxyRefs只简单判断了你访问的值是不是一个ref是的,则解包不是的则返回原值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题