在Sencha Architect中更改视图

时间:2012-07-09 20:10:05

标签: extjs sencha-touch-2 sencha-architect

我对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' 

谢谢!

4 个答案:

答案 0 :(得分:1)

您可以使用导航视图实现所需目的 请查看此链接

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

希望它有助于^^

答案 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之前必须添加所有容器,但它只显示活动项)