1 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
model()每次輸入路線時(shí),都會(huì)執(zhí)行路線的掛鉤。您將Weapon在每次執(zhí)行中創(chuàng)建新的。這些Weapon對(duì)象被推到weapons路線的屬性。路由是ember.js中的單例。在每次重新進(jìn)入路由時(shí),都會(huì)將更多Weapon對(duì)象推送到weapons屬性。
您可以通過(guò)不將weaponsas存儲(chǔ)為route的屬性來(lái)解決錯(cuò)誤,而在每次model()執(zhí)行掛鉤時(shí)都初始化一個(gè)新數(shù)組。您應(yīng)該在model鉤子中替換此代碼
for (let i = 0; i < characterWeapons.length; i++) {
let weapon = Weapon.create();
let weapons = this.get('weapons');
// ...
weapons.push(weapon);
}
和
let weapons = [];
for (let i = 0; i < characterWeapons.length; i++) {
let weapon = Weapon.create();
// ...
weapons.push(weapon);
}
您根本不需要weapons在路線上存儲(chǔ)。而且,您不應(yīng)該確定每次循環(huán)for循環(huán)時(shí)都應(yīng)替換該屬性。
添加回答
舉報(bào)