Javascript Sencha Touch:通过一个列表动态更改门店

Javascript Sencha Touch:通过一个列表动态更改门店,javascript,model-view-controller,sencha-touch,extjs,Javascript,Model View Controller,Sencha Touch,Extjs,所以,我正在尝试编写一个小的MVC应用程序,它大量使用列表。 我有一个视图,它由一个面板组成,工具栏固定在顶部和列表上: app.views.SalonListView = Ext.extend(Ext.Panel, { layout: 'card', cardSwitchAnimation: 'slide', dockedItems: [ { xtype: 'toolbar', dock: 'top'

所以,我正在尝试编写一个小的MVC应用程序,它大量使用列表。 我有一个视图,它由一个面板组成,工具栏固定在顶部和列表上:

app.views.SalonListView = Ext.extend(Ext.Panel, {
    layout: 'card',
    cardSwitchAnimation: 'slide',
    dockedItems: [
        {
            xtype: 'toolbar',
            dock: 'top'
        }        
    ],
    items: [
    {            
        xtype: 'SalonList',
        id: 'salon-list'
    }
    ]
});
Ext.reg('ListView', app.views.SalonListView);
我在另一个文件中定义了一个xtype for list:

app.views.SalonList = Ext.extend(Ext.List, {
    layout: 'card',
    itemTpl: // some tpl is here
});
Ext.reg('SalonList', app.views.SalonList);
您可能会注意到,我没有为我的列表设置存储。 我试图实现的是在我使用的任何控制器中设置存储。 比如:

salonList: function() {
    app.stores.SalonStore.read();
    this.salonsView = this.render({
        xtype: 'SalonListView',
        // so I need to set store for the list somewhere around here
    });
}

是否有可能动态设置列表的存储?

您尝试过bindStore方法吗?我认为它应该可以工作,但现在的问题是-如何从控制器的作用域访问列表?按id,即Ext.getCmp'salon-List',在呈现之前无法按id找到列表,如果没有绑定到它的存储,它就不能被渲染…那么您需要避免使用延迟渲染,使用new Ext.List{}创建实例