Javascript Sencha Touch:通过一个列表动态更改门店
所以,我正在尝试编写一个小的MVC应用程序,它大量使用列表。 我有一个视图,它由一个面板组成,工具栏固定在顶部和列表上: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'
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{}创建实例