我知道我必须使用 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 的情况下获得视图以响应式更新?
非常感谢。