2011-05-31 143 views
4

我無法讓Ext.Router註冊對URL的更改。我用sencha觸摸網站上的模型視圖控制器的示例開始了我的應用程序。sencha touch Ext.Router

Ext.setup({ 
    tabletStartupScreen: 'tablet_startup.png', 
    phoneStartupScreen: 'startup.png', 
    icon: 'icon.png', 

    onReady: function() { 
     KOI.views.viewport = new KOI.views.Viewport(); 
    } 
}); 

而且我有一個路線文件,(應用程序之前加載)

Ext.Router.draw(function(map) { 
     map.connect("main", { controller: 'menu', action: 'index' }); 
}); 

這是控制器

KOI.controllers.menus = new Ext.Controller({ 
    index: function(options) { 
     KOI.views.viewport.setActiveItem(KOI.views.mainMenu); 
    } 
}); 
Ext.regController('menu', KOI.controllers.menus); 

但網址更改爲http://myapp.com/#main什麼都不做,儘管控制器不工作。任何想法我失蹤?任何幫助將不勝感激。 Ext.router沒有太多的文檔,我不能看到一個很好的方法來調試正在發生的事情。

+0

好,我想通了,而不是Ext.setup ... Ext.regApplication({ 名稱: 「MYAPP」, 推出:函數(​​){ KOI.views.viewport =新KOI.views.Viewport({ 應用:此 });} }); – mconnors 2011-05-31 04:42:44

回答

1

Ext.setup相當於Ext.onReady,除了在加載和訪問dom時調用回調函數以外別無其他。

Ext.regApplication但是會創建一個新的Ext.Application,將您的配置對象傳遞給它。

Ext.Application的一部分是Ext.Application.onBeforeLaunchExt.Application.launchonBeforeLaunch設置了歷史記錄支持,如果您有啓用,然後調用launch

如果launch不返回false,那麼onBeforeLaunch將繼續和調用Ext.redirect用在您上次歷史項/令牌,你defaultUrl或者如果一切都失敗{controller: 'application', action: 'index'}