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}`;
}
}
}
}
添加回答
舉報