Javascript 如何在senchatouch中动态填充列表视图数据
我想用下面的数组变量填充列表数据我已经设置了这个arrray来存储这里是数组中记录类型的列表Javascript 如何在senchatouch中动态填充列表视图数据,javascript,extjs,extjs4,sencha-touch-2,sencha-touch-2.1,Javascript,Extjs,Extjs4,Sencha Touch 2,Sencha Touch 2.1,我想用下面的数组变量填充列表数据我已经设置了这个arrray来存储这里是数组中记录类型的列表 var logbookEntryList = []; var aircraftMxLog = new AircraftMxLog(); //domian aircraftMxLog.mxlogIdNum = mxLogIdNum; aircraftMxLog.entryDatetime = entryDatetime; aircraftMxLog.recordNa
var logbookEntryList = [];
var aircraftMxLog = new AircraftMxLog(); //domian
aircraftMxLog.mxlogIdNum = mxLogIdNum;
aircraftMxLog.entryDatetime = entryDatetime;
aircraftMxLog.recordName = recordName;
aircraftMxLog.recordSourceId = recordSourceId;
logbookEntryList.push(aircraftMxLog);
var mxRelease = new MxRelease();
mxRelease.mxReleaseTypeId = mxReleaseTypeId;
mxRelease.entryDatetime = entryDatetime;
mxRelease.comments = comments;
mxRelease.firstName = firstName;
mxRelease.lastName = lastName;
logbookEntryList.push(mxRelease);
var flightLog = new FlightLog();
flightLog.flightNumId = flightNumId;
flightLog.arvStationId = arvStationId;
flightLog.deptStationId = deptStationId;
flightLog.outDate = outDate;
flightLog.offDate = offDate;
logbookEntryList.push(flightLog);
所以像这样,我的数组中将有不同类型的数据,那么我如何将其映射到我的模型以在列表视图中填充
我尝试通过每个函数迭代存储,我能够在迭代中获得每个元素对象,但在动态迭代到list时无法设置itemtpl
这是密码
createViewFactory :function(){
var manageAmlStore=Ext.getStore('ManageAMLStore');
manageAmlStore.setData(logbookEntryList);
// this.getManageAmlStore().setData(logbookEntryList);
//
console.log('manage Aml store size '+manageAmlStore.getCount());
var manageAmlList=Ext.getCmp('manageAMlList')
manageAmlStore.each(function(item, index, length){
//console.info(item,length,index);
console.log('item '+item+' index '+index+' length '+length)
console.log('item size '+item.length)
if(logbookEntryList[index] instanceof AircraftMxLog){
manageAmlList.setItemTpl('AircraftMxLog'+index);
} else if(logbookEntryList[index] instanceof MxRelease){
manageAmlList.setItemTpl('MxRelease'+index);
// manageAmlList.initComponent();
//manageAmlList.render();
}else if(logbookEntryList[index] instanceof FlightLog){
manageAmlList.setItemTpl('FlightLog'+index);
}else if(logbookEntryList[index] instanceof MxAction){
manageAmlList.setItemTpl('MxAction'+index);
}
//Ext.getCmp('manageAMlList').setItemTpl('test'+id)
//this.getManageAmlList().setItemTpl('test'+id);
});
manageAmlList.bindStore(manageAmlStore);
}
系统的问题是发送的是字符串而不是变量 “MxRelease”+索引是一个字符串,而不是先前声明的变量 要做类似的事情,您必须以这种方式创建一个对象
TEMPLATe =
{ tplvar =
{
mxrelease2 : 'your template',
},
'MxRelease2' : function(tplvar){return tplvar.mxrelease2;},
}
如果我没有错的话,这就是所谓的措辞(javascript)我的回答帮了你吗?