中等Vue
0 1

为何Vue中的data属性是一个函数而不是一个对象?请说明原因与场景?

【概念释义】

组件 data 必须是函数返回新对象,避免多实例共享同一对象引用导致状态串扰。根实例 data 可以是对象(仅 new 一次),但组件规范仍用函数。

【基础使用】

javascript
"qb-hl-comment">// 组件
data() {
  return { count: 0 };
}

"qb-hl-comment">// 错误:共享
const shared = { count: 0 };
data() { return shared; } "qb-hl-comment">// 多实例共享

【版本差异】

Vue 3 setup return reactive/ref 每次 setup 新实例;Vue 2 一致要求函数。

【拓展延伸】

登录查看完整 647

回答讨论

暂无讨论,登录后可抢先发言

本题库更多题目(50)