计算 属性 未重新渲染
Computed Property not rerendering
当组件数据值(它是 objects 的数组)更改时,计算的 属性 不受影响。
在下面的示例中,我有一个 table 填充了一些数据(它是具有不同状态和标题的任务)。如果您单击一个任务并单击按钮 'CHANGE TASK INFO',它将把当前选定的任务更改为
{
Status = QA Review
Title = TEST
}
但是,如果您注释 99,100 行并取消注释 96 行,那么如果您尝试单击选择了不同任务的按钮,任务将在 'tasks' 变量中更新组件,但从未被计算的道具重新渲染。
有什么想法吗?
某人
https://codesandbox.io/s/vue-table-test-enviroment-bx1sd?file=/src/components/HelloWorld.vue
如果您用索引替换数组项,Vue 将无法检测到更改(参见 Reactivity in Depth)。
解决方法很简单:
this.$set(this.tasks, indexOfUpdatedTask, test);
当组件数据值(它是 objects 的数组)更改时,计算的 属性 不受影响。
在下面的示例中,我有一个 table 填充了一些数据(它是具有不同状态和标题的任务)。如果您单击一个任务并单击按钮 'CHANGE TASK INFO',它将把当前选定的任务更改为
{
Status = QA Review
Title = TEST
}
但是,如果您注释 99,100 行并取消注释 96 行,那么如果您尝试单击选择了不同任务的按钮,任务将在 'tasks' 变量中更新组件,但从未被计算的道具重新渲染。
有什么想法吗?
某人 https://codesandbox.io/s/vue-table-test-enviroment-bx1sd?file=/src/components/HelloWorld.vue
如果您用索引替换数组项,Vue 将无法检测到更改(参见 Reactivity in Depth)。
解决方法很简单:
this.$set(this.tasks, indexOfUpdatedTask, test);