Javascript 在sencha Touch中将商品从商店动态加载到tabpanel
在Sencha touch应用程序中,我在动态加载选项卡面板中的项目时遇到问题 视图中的代码:Javascript 在sencha Touch中将商品从商店动态加载到tabpanel,javascript,extjs,sencha-touch,Javascript,Extjs,Sencha Touch,在Sencha touch应用程序中,我在动态加载选项卡面板中的项目时遇到问题 视图中的代码: { xtype : 'tabpanel', layout : 'card', itemId : 'containerButtons', items : [] } 控制器中的代码: chooseBrands : function(store){ var item
{
xtype : 'tabpanel',
layout : 'card',
itemId : 'containerButtons',
items : []
}
控制器中的代码:
chooseBrands : function(store){
var item = {};
for(var i = 0; i <store.get('brands').length; i++){
var record = store.get('brands')[i].text;
var items = [item];
console.log(i + ' ' + record);
item = {
title: record
};
items.push(item);
}
this.getSurveyBrands().setItems(items);
错误放置
var item = {}
这就是问题所在。在当前位置,修改标题的对象始终相同。这当然会修改所有“副本”(一个对象只不过是指向某个内存位置的指针)的标题以及所有“相同”对象的标题
如果在循环中创建项
对象,它应该可以工作
chooseBrands : function(store){
var items=[];
for(var i = 0; i <store.get('brands').length; i++){
var record = store.get('brands')[i].text,
item = {
title: record
};
items.push(item);
}
this.getSurveyBrands().setItems(items);
}
谢谢你的帮助!,它与您的第二个选项完美配合。。最好的。
chooseBrands : function(store){
var items=[];
for(var i = 0; i <store.get('brands').length; i++){
var record = store.get('brands')[i].text,
item = {
title: record
};
items.push(item);
}
this.getSurveyBrands().setItems(items);
}
chooseBrands: function(store) {
this.getSurveyBrands().setItems(
store.get('brands').map(function(brand) {
return {title:brand.text};
})
);
}