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');
},