0

我知道我必须使用 Vue.set(object,property,value) 来确保 Vue 中的反应性,但以下代码不起作用。

零件:

Vue.component('answer-block', {
  props: ['letters'],
  template: `
    <div>
  <div id='keyboard' v-if="mode==='type'">
  <div :key='idx' :style='letterStyle(letter)' :class='letterClass(letter)' v-for='(letter,idx) in letters' @click='setLetter(letter,"click")'>{{letter.letter}}</div>
  </div>
    </div>
    `

组件方法“setLetter”:

Vue.set(selected,'correct',true);

组件方法“letterClass”:

return {
  "key": true,
  "correct": letter.correct === true
 };

问题:当字母属性“正确”设置为“真”时,类“正确”未应用于 div 部分解决方案:使用“this.$forceUpdate();”时查看更新 但不是不调用这个函数

在上述情况下,如何在不调用 forceUpdate 的情况下获得视图以响应式更新?

非常感谢。

4

0 回答 0