Saya mempunyai masalah dengan harta pengiraan saya
correctAnswersForCurrentStage(): object {return return this.correctAnswers[this.currentLevel] ?? {}; },
Beberapa latar belakang: ini.CorrectAnswers ialah objek di mana sifatnya ialah tahap dan nilainya ialah objek untuk setiap pintu:
this.correctAnswers = { "1": { "1": 15, "2": 25, "3": 35, "4": 45 }, "2": { "1": 15, "2": 25, "3": 35, "4": 45 }, }
Jadi apabila tahap selesai, saya akan menambah lebih banyak tahap
this.currentLevel++
Semuanya akan disekat selepas ini. Saya tidak tahu sama ada Vue atau TypeScript yang menyebabkan masalah ini. Atau mungkin gabungan kedua-duanya? Adakah sesiapa tahu mengapa ini berlaku?
Saya cuba mematikan peningkatan tahap dan kemudian tiada masalah. Jelas sekali saya telah kekal pada tahap yang sama. Tetapi logik set semula lain berfungsi
Susulan:
Saya masih mengalami masalah yang sama apabila saya menukarnya supaya ia tidak perlu menggunakan indeks, kini saya telah melakukannya:
correctAnswersForCurrentStage(): object { if (this.currentLevel === 1) { return this.correctAnswersForLevel1; } if (this.currentLevel === 2) { return this.correctAnswersForLevel2; } if (this.currentLevel === 3) { return this.correctAnswersForLevel3; } if (this.currentLevel === 4) { return this.correctAnswersForLevel4; } return {}; },
Sukar untuk mengetahui dengan kod yang disediakan pada masa ini, tetapi saya mengesyaki
this. CorrectAnswersForLevel1
dan lain-lain juga merupakan sifat yang dikira. Ini bermakna anda mendapat rujukan bulat, menghasilkan gelung tak terhingga.Selain itu, kod itu juga mengandungi rujukan yang salah:
this. CorrectAnswers['1']
与this. CorrectAnswers[1]
Berbeza kerana membandingkan rentetan dan nombor antara satu sama lain.