ref()
在组合式 API 中,推荐使用?ref()?函数来声明响应式状态,
ref()
?接收参数,并将其包裹在一个带有?.value
?属性的 ref 对象中返回
该?.value
?属性给予了 Vue 一个机会来检测 ref 何时被访问或修改
Vue 会在“next tick”更新周期中缓冲所有状态的修改,要等待 DOM 更新完成后再执行额外的代码,可以使用?nextTick()?全局 API
reactive()
?的局限性:有限的值类型?不能替换整个对象?对解构操作不友好
额外的 ref 解包细节:
一个 ref 会在作为响应式对象的属性被访问或修改时自动解包
与 reactive 对象不同的是,当 ref 作为响应式数组或原生集合类型(如?Map
) 中的元素被访问时,它不会被解包
在模板渲染上下文中,只有顶级的 ref 属性才会被解包。