Kebocoran memori berlaku apabila menukar nilai yang menunjukkan indeks dalam harta yang dikira
P粉786432579
P粉786432579 2023-09-10 15:52:53
0
1
623

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 {};
},

P粉786432579
P粉786432579

membalas semua(1)
P粉191610580

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan