Sencha touch 无法调用方法';添加';未定义的

Sencha touch 无法调用方法';添加';未定义的,sencha-touch,sencha-touch-2.1,Sencha Touch,Sencha Touch 2.1,我一直在尝试在sencha touch 2.1.1中制作一个动态carousal,它从wordpress json数据中获取图像。。 但是,当我调用存储区中的load listener时,它会给出错误。 我在另一个演示sencha应用程序上尝到了这个,它在那里工作得很好,但当我在这里添加它时,它显示了错误 Uncaught TypeError: Cannot call method 'add' of undefined 我在这里共享我的视图、模型和存储文件 Ext.define('Fluge

我一直在尝试在sencha touch 2.1.1中制作一个动态carousal,它从wordpress json数据中获取图像。。 但是,当我调用存储区中的load listener时,它会给出错误。 我在另一个演示sencha应用程序上尝到了这个,它在那里工作得很好,但当我在这里添加它时,它显示了错误

Uncaught TypeError: Cannot call method 'add' of undefined 
我在这里共享我的视图、模型和存储文件

Ext.define('Flugelsoft.view.Portfolio', {
    extend:'Ext.Container' ,
    xtype: 'portfolio',
    fullscreen: true,
    //store:'Portfolios',

requires: ['Flugelsoft.store.Portfolios', 'Ext.dataview.List', 'Ext.Img','Ext.carousel.Carousel'],

    config: {
            layout: {
                        type: 'fit'
             },

            items: [

            {
                    xtype: "carousel",
                    id: 'carouselid'

            }
        ]



    }
});
store.js文件

var token=localStorage.getItem("access_token");

Ext.define("Flugelsoft.store.Portfolios", {
 extend: "Ext.data.Store",
requires: ["Ext.data.proxy.JsonP"],
config: {
model: "Flugelsoft.model.Portfolio",
autoLoad: true,

proxy: {
    type: 'jsonp',
    url: 'http://www.flugelsoft.net/?json=get_category_posts&category_id=2&access_token='+token,
    reader: {
        type: 'json',
        rootProperty: 'posts'
        }
    },  

}    

   });

var newPanel = Ext.create('Flugelsoft.store.Portfolios', {   
    listeners:{
    load: function( me, records, successful, operation, eOpts ){ 
        console.log("data loaded", records);
        myCarousel = Ext.getCmp('carouselid');
        for(var i=0; i<records.length; i++){

         //THE ERROR IS GENERATING IN THIS LINE myCarousal.add 
            myCarousel.add({
                xtype: 'image',
                src: records[i].get('thumbnail')
            });
        }
    }
}

});

提前感谢您

首先,在调用
Ext.getCmp('carouselid')之前,您应该在视口中添加
Portfolio
视图

型号

Ext.define('GoodNews.model.Portfolio',{
   extend:'Ext.data.Model',
   config:{
      fields: [{name: 'title', type: 'string'},
               {name: 'content', type: 'string'},
               {name:'thumbnail',type:'string'}]
       //thumbnail should be url for accessing picture from the server 
   }
});
商店

    Ext.define("GoodNews.store.Portfolios", {
    extend: "Ext.data.Store",
    requires: ["Ext.data.proxy.JsonP"],
    config: {
        model: "GoodNews.model.Portfolio",
        autoLoad: true, 
                proxy: {
                  type: 'jsonp',
                  url: 'http://www.flugelsoft.net/?json=get_category_posts&category_id=2&access_token='+token,
                   reader: {
                     type: 'json',
                     rootProperty: 'posts'
                   }
         },  
     } 
});  
添加
投资组合

Ext.Viewport.add({xtype : 'portfolio'});

 var newPanel = Ext.create('GoodNews.store.Portfolios', {   
    listeners:{
        load: function( me, records, successful, operation, eOpts ){ 
            console.log("data loaded", records);
            myCarousel = Ext.getCmp('carouselid');
            for(var i=0; i<records.length; i++){
              myCarousel.add({
                xtype: 'image',
                src: records[i].get('thumbnail')
              });
            }
        }
    }
    });    
Ext.Viewport.add({xtype:'portfolio'});
var newPanel=Ext.create('GoodNews.store.portfolions',{
听众:{
加载:函数(me、记录、成功、操作、eOpts){
console.log(“数据加载”,记录);
myCarousel=Ext.getCmp('carouselid');

对于(var i=0;i:在执行您的步骤后,它会显示此错误{Uncaught error:[Ext.createByAlias]无法创建无法识别的别名的实例:widget.portfolio}@user2226699是否在app.js views数组中添加了公文包视图?@user2226699该错误意味着..sencha无法找到公文包视图..发布创建公文包视图的代码(您得到的线路错误)
Ext.Viewport.add({xtype : 'portfolio'});

 var newPanel = Ext.create('GoodNews.store.Portfolios', {   
    listeners:{
        load: function( me, records, successful, operation, eOpts ){ 
            console.log("data loaded", records);
            myCarousel = Ext.getCmp('carouselid');
            for(var i=0; i<records.length; i++){
              myCarousel.add({
                xtype: 'image',
                src: records[i].get('thumbnail')
              });
            }
        }
    }
    });