Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在sencha Touch中将商品从商店动态加载到tabpanel_Javascript_Extjs_Sencha Touch - Fatal编程技术网

Javascript 在sencha Touch中将商品从商店动态加载到tabpanel

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

在Sencha touch应用程序中,我在动态加载选项卡面板中的项目时遇到问题

视图中的代码:

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