Data 选项
当合并来自 mixin 或 extend 的多个 data
返回值时,现在是浅层次合并的而不是深层次合并的(只合并根级属性)。
在 2.x 中,开发者可以定义 选项是 object
或者是 function
。
例如:
在 3.x,data
选项已标准化为只接受返回 的 function
。
使用上面的示例,代码只有一个可能的实现:
此外,当来自组件的 data()
及其 mixin 或 extends 基类被合并时,现在将浅层次执行合并:
在 3.0 中,其结果将会是:
对于依赖对象声明的用户,我们建议:
- 将共享数据提取到外部对象并将其用作 中的 property
- 重写对共享数据的引用以指向新的共享对象
对于依赖 mixin 的深度合并行为的用户,我们建议重构代码以完全避免这种依赖,因为 mixin 的深度合并非常隐式,这让代码逻辑更难理解和调试。