2016-05-12 73 views
0

問題: 我想從Sencha Touch 2.4.2遷移到EXT JS 6.0.2(現代)的應用程序。我目前正在與路線struggeling在我的控制器之一:從Sencha Touch遷移到EXT JS 6 - 默認/空Contoller路由

Ext.define('MyApp.controller.MyController', { 
    extend: 'Ext.app.Controller', 
    config: { 
     routes: { 
      '': 'doA', 
      ':id': 'doB' 
     }, 
    }, 
    } 

我要的是類似如下:

http://localhost/ --> doA() 
http://localhost/#a --> doB() 

doB()總是完美的作品!但不知何故,第一路由沒有在EXT JS 6.0.2工作,但它在煎茶觸摸2.4.2沒有工作。我也試過以下,而不是'' : 'doA'

  1. ' ' : 'doA'(空格)
  2. '*' : 'doA'
  3. '#' : 'doA'
  4. '/' : 'doA'
  5. '.' : 'doA'

問題: 有誰知道如何獲得上面所需的行爲?

如果我錯過了任何需要的信息,只是讓我知道在評論!

任何幫助將不勝感激! 在此先感謝!

回答

0

從ExtJS的文檔:

當應用程序啓動時,它可以被配置爲添加 如果未提供的默認散列。舉例來說,如果應用程序顯示一個 儀表板使用#home哈希時,您可能希望將#home 哈希添加到URI如果沒有其他的散列存在。要啓用一個默認的哈希,你 可以使用default令牌配置在/app/view/Application.js文件, 它可以在應用程序中找到:

Ext.define('MyApp.Application', { 
    extend : 'Ext.app.Application', 
    //... 
    defaultToken : 'home' 
}); 

http://docs.sencha.com/extjs/6.0/application_architecture/router.html#Default_Token

+0

感謝您的答覆!我試了一下,並修改了我的路線'路線:{ '家': 'DOA', ':ID': 'DOB'}'。那會導致'HTTP調用://本地主機/#home'同時執行: doA()和doB() – Jan