假設我們有以下結構:本地存儲崩潰模型定義?
model_Projects擁有一個model_Category數組。 每個model_Category都擁有一個model_SubCategory數組。
我實際上有一個model_Projects的商店,它有一個localStorage代理。
發生的情況是,當我加載同步()和加載()我的model_Projects存儲時,在每個model_Projects中,我的model_Category數組的大小合適,並且每個單元格都包含一個對象。
什麼是錯的是,每個這些對象都沒有一個model_Category對象...
這裏是我的console.log()的一個項目
console.log('\n' + this.get('strTitle') + ' - ' + this.get('strType'));
console.log(this.get('strVersion'));
console.log('Event will be on : ' + this.get('dateOfProject') + '\n');
var arrCategory = this.get('arrCategory');
var arrSub;
var arrType;
for(i in arrCategory)
{
console.log(arrCategory[i].get('strTitle') + ' Total : ' + arrCategory[i].get('numTotal') + '\n');
//Each Sub Category
arrSub = arrCategory[i].get('arrSubCategory');
for(j in arrSub)
{
if(arrCategory[i].get('arrSubTotal') === undefined)
console.log('\t' + arrSub[j].get('strTitle'));
else
console.log('\t' + arrSub[j].get('strTitle') + '\t SubTotal : ' + arrCategory[i].get('arrSubTotal')[j]);
arrType = arrSub[j].get('arrType');
arrValue = arrSub[j].get('arrValue');
arrCOFactor = arrSub[j].get('arrCOFactor');
for(var k=0; k<arrType.length; k++)
{
if(arrValue === undefined)
console.log('\t\t' + arrType[k] + '\t\t Value : ' + 'NA' + '\t\t COFactor : ' + arrCOFactor[k]);
else
console.log('\t\t' + arrType[k] + '\t\t Value : ' + arrValue[k] + '\t\t COFactor : ' + arrCOFactor[k]);
}
console.log('');
}
}
console.log('\n'+this.get('strTitle') + ' - ' + this.get('strType') + '\n');
下面的函數是一個project.show ()在創建後立即從項目商店中讀取。
這裏是我所得到的,當我project.show()後加載項目店
如果我們打開錯誤,我們得到以下行崩潰:
console.log(arrCategory[i].get('strTitle') + ' Total : ' + arrCategory[i].get('numTotal') + '\n');
看起來像arrCategory [i]不再是類別模型... wtf
會有人知道發生了什麼事嗎?
omg所以我的系統註定了...... – Fawar
代理應負責維護僅模型數據,並從存儲中的數據恢復模型對象。您遇到問題是因爲您在記錄(項目)的** data **中保留了一些模型對象(類別)。您應該配置['HasMany'](http://docs.sencha.com/touch/2.2.1/#!/api/Ext.data.association.HasMany)關聯,而不是將原始對象放在那裏。做好準備,第一次有點困難...... – rixo
有多少人能幫助我? – Fawar