这听起来可能微不足道,但事实并非如此。所以总结一下:
- 我们有一个存储在数据中的对象数组(最初是空的)。
- 创建组件时,我们通过自定义结构方法将一些对象添加到数组中。
- Fabric 方法接受基础对象并使用一些额外的道具对其进行扩展。
- Fabric 方法添加的道具之一是对数据的引用(
this.foo
)。
问题:生成的对象不是反应性的,也不会对this.foo
变化做出反应。
演示:https ://codesandbox.io/s/vigilant-framework-47me6?fontsize=14&hidenavigation=1&theme=dark
到目前为止我已经尝试过:
- 使用 hack 返回 new
Vue(...)
以使对象具有反应性(https://github.com/vuejs/vue/issues/2660)。 - 用于在 fabric方法
$set
中设置附加属性。
所以问题是:我们如何让对象反应?
PS我知道使用观察者/计算是选项,但在这种情况下不是。我希望对象具有反应性,而不是手动更新整个对象数组。