Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs Sencha Architect中的更改视图_Extjs_Sencha Touch 2_Sencha Architect - Fatal编程技术网

Extjs Sencha Architect中的更改视图

Extjs Sencha Architect中的更改视图,extjs,sencha-touch-2,sencha-architect,Extjs,Sencha Touch 2,Sencha Architect,我对Sencha架构师和EXTJs都是新手。我创建了一个具有多个视图(2个容器)的应用程序。我试图在单击container1中的按钮时切换视图。我创建了一个触发良好的事件,但我不知道如何切换到下一个视图?我试过: if(Ext.getCmp('mainView')) { Ext.Viewport.setActiveItem(Ext.getCmp('mainView')); } else { var view = Ext.create('Snapwire.view.mainVie

我对Sencha架构师和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' 

谢谢

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

希望它有帮助^ ^

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

id:'mainView'
我是这样做的:

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

是一个名为SearchWords的视图,其中定义为

alias: 'widget.searchwords'

希望对您有所帮助。

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

container.setActiveItem(1);


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

您使用的容器是什么?还有什么版本的sencha?1或2?我在使用Ext.container.container,Sencha 2,Architect 2你在使用卡片布局吗?这就是你应该使用的
container.setActiveItem(1);
container.setActiveItem(0);