计算属性未随 props 更改而更新

Kri*_* J. 5 vue.js computed-properties vuejs2 vue-reactivity

当传递的 prop 对象中的嵌套属性发生更改时,我无法更新计算属性。

this.favourite通过 props 传递,但当this.favourite.selectedChoices.second.idthis.favourite.selectedChoices.first.id更改时,计算属性不会更新。

关于如何使其具有反应性的任何想法?

这是计算的属性:

isDisabled() {
  const hasMultipleChoices = this.favourite.choices.length
    ? this.favourite.choices[0].value.some(value => value.choices.length) : 
    false;

  if (hasMultipleChoices && !this.favourite.selectedChoices.second.id) {
    return true;
  } else if (this.favourite.choices.length && !this.favourite.selectedChoices.first.id) {
    return true;
  }

  return false;
}
Run Code Online (Sandbox Code Playgroud)

Kri*_* J. 1

计算属性未更新的原因是我在渲染组件后创建了this.favourite.selectedChoices.secondthis.favourite.selectedChoices.first的 id 对象。解决方案是在渲染之前声明 id 对象。

  • 你具体是怎么做到的,我也遇到了同样的问题 (2认同)