2012-07-09 59 views
0

我對Sencha Architect以及EXTJs相當新穎。我創建了一個包含多個視圖(2個容器)的應用程序。我正在嘗試在點擊container1中的按鈕時切換視圖。我有一個創建好的事件觸發,我不知道如何切換到下一個視圖?我已經試過:在Sencha Architect中更改視圖

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

你使用什麼contatiner?還有哪個版本的sencha? 1或2? – 2012-07-09 20:24:17

+0

我正在使用Ext.container.Container,Sencha 2,Architect 2 – Michael 2012-07-09 21:05:06

+1

您使用卡片佈局嗎?那就是你應該使用的 – 2012-07-10 14:14:05

回答

0

Ext.getCmp('mainView')只有當你設置一個ID爲它返回的主視圖。在你的類定義,添加此配置:

id: 'mainView'

0

我沒有這樣說:

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

這裏,

xtype:searchwords 

被稱爲SearchWords的視圖定義它爲

alias: 'widget.searchwords' 

希望它能幫助你。

0

您可以嘗試使用一卡的佈局和改變與觀點:

container.setActiveItem(1); 

container.setActiveItem(0); 

(使用前的所有容器必須添加setActiveItem,但將只顯示活動項目)