1 回答
TA贡献1810条经验 获得超4个赞
问题在于,Cell.vue问题在于您正在检查一个不变的变量以确定揭示的状态。您已抽象 this.cell.isRevealed为一个名为的变量isUnrevealed,该变量在初始加载后从未被告知如何更改。
选项1
isUnrevealed似乎是一个不必要的便利变量。如果您摆脱isUnrevealed并将对它的引用更改为!cell.isRevealed,则代码将按预期工作。
选项 2
如果您设置使用此变量,请将其更改为一个计算值,以便在 Vuex 状态将更改传播到cell isRevealedprop时它会不断更新自身:
computed: {
isUnrevealed() {
return !this.cell.isRevealed;
}
}
如果您走这条路线,请不要忘记从(第一行)中删除属性data并删除分配mounted。
您还可以有同样的问题isMine和cellStyle。因此,完全删除data和mounted并使它们都计算。
computed: {
isMine() {
return this.cell.isMine;
},
cellStyle() {
if (!this.cell.isRevealed) {
return "unrevealedCell";
} else {
if (this.isMine) {
return "mineCell";
} else {
let neighbourCountStyle = "";
... // Switch statement
return `neutralCell ${neighbourCountStyle}`;
}
}
}
}
添加回答
举报