0

我对 Sencha Architect 和 EXTJ 还很陌生。我创建了一个具有多个视图(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' 

谢谢!

4

4 回答 4

1

您可以使用导航视图实现您想要的请检查此链接

http://docs.sencha.com/architect/2/#!/guide/navigationview

希望对你有帮助^^

于 2012-09-09T10:22:54.460 回答
0

我是这样做的:

Ext.Viewport.remove(Ext.Viewport.getActiveItem(), true);  
Ext.Viewport.add([
 { xtype: 'searchwords' }
 ]);  

这里,

xtype:searchwords 

是一个名为 SearchWords 的视图,它被定义为

alias: 'widget.searchwords'

希望它可以帮助你。

于 2013-07-31T04:03:07.537 回答
0

您可以尝试使用卡片布局并通过以下方式更改视图:

container.setActiveItem(1);

或者

container.setActiveItem(0);

(在使用 setActiveItem 之前必须添加所有容器,但它只会显示活动项目)

于 2014-01-16T13:25:47.930 回答
0

Ext.getCmp('mainView')仅在您为其设置 id 时才返回您的主视图。在您的类定义中,添加以下配置:

id: 'mainView'

于 2013-02-10T10:52:27.683 回答