我对Sencha Architect以及EXTJs都很陌生。我创建了一个具有多个视图(2个容器)的应用程序。我在单击container1中的按钮时尝试切换视图。我有一个创建的事件很好,我不知道是如何切换到下一个视图?我试过了:
if(Ext.getCmp('mainView'))
{
Ext.Viewport.setActiveItem(Ext.getCmp('mainView'));
}
else
{
var view = Ext.create('Snapwire.view.mainView');
Ext.Viewport.setActiveItem(view);
}
但这只会引发控制台错误:
Uncaught TypeError: Object function () {
return this.constructor.apply(this, arguments);
} has no method 'setActiveItem'
谢谢!
答案 0 :(得分:1)
答案 1 :(得分:0)
Ext.getCmp('mainView')
只有在为其设置ID时才会返回主视图。在您的类定义中,添加此配置:
id: 'mainView'
答案 2 :(得分:0)
我是这样做的:
Ext.Viewport.remove(Ext.Viewport.getActiveItem(), true);
Ext.Viewport.add([
{ xtype: 'searchwords' }
]);
下面,
xtype:searchwords
是一个名为SearchWords的视图,它被定义为
alias: 'widget.searchwords'
希望它对你有所帮助。
答案 3 :(得分:0)
您可以尝试使用卡片布局并使用以下内容更改视图:
container.setActiveItem(1);
或
container.setActiveItem(0);
(在使用setActiveItem之前必须添加所有容器,但它只显示活动项)