Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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
Sencha touch ST2:使用商店的两个唯一实例&;MVC_Sencha Touch_Extjs_Sencha Touch 2 - Fatal编程技术网

Sencha touch ST2:使用商店的两个唯一实例&;MVC

Sencha touch ST2:使用商店的两个唯一实例&;MVC,sencha-touch,extjs,sencha-touch-2,Sencha Touch,Extjs,Sencha Touch 2,我有一个简单的测试应用程序,其中我有一个旋转木马,它将实例化多个相同类型的网格,每个网格都有自己的存储副本 旋转木马: Ext.define('App.view.TopPageCarousel', { extend: 'Ext.Carousel', xtype : 'app-toppagecarousel', requires: ['Ext.Carousel', 'App.view.TopPageGrid'], config: { title: 'Top Pages', item

我有一个简单的测试应用程序,其中我有一个旋转木马,它将实例化多个相同类型的网格,每个网格都有自己的存储副本

旋转木马:

Ext.define('App.view.TopPageCarousel', {
extend: 'Ext.Carousel',
xtype : 'app-toppagecarousel',
requires: ['Ext.Carousel', 'App.view.TopPageGrid'],
config: {
    title: 'Top Pages',
    items: [{
        xtype : 'app-toppagegrid',
        title : 'titleA'
    },{
        xtype : 'app-toppagegrid',
        title : 'titleB'
    }]
}
}))

起初,我将网格中的存储定义为其配置中的一个属性,我让控制器监听存储更改,只是让我知道它正在加载。发出ajax调用并填充网格。但是,所有网格都填充了相同的数据,即使每次调用都返回唯一的数据

然后我发现一篇帖子说我需要在网格填充时实例化存储,如下所示:

constructor : function() {
    var me = this;
    Ext.apply(me, {
        store : me.buildStore()
    });
    me.callParent(arguments);
    me.store.load({params : {ufq : this.title}});
},
buildStore : function() {
    return Ext.create('App.store.Links');
}

这类工作。正在进行ajax调用,但是现在没有填充网格,我也没有看到console.log(“存储加载”);我放在控制器中的正在执行的。我做错了什么?

事实证明,在ST2中,最好不要使用Ext.create(在我的特定实例中,不是作为标准):

如果您想从事件和商店管理器中获得很多好处,那么现在就必须使用Ext.getStore和Ext.setStore

constructor : function() {
    this.callParent(arguments);
    Ext.setStore('App.store.Links');
},