2016-05-12 3 views
0

Problem: Ich versuche, eine Anwendung von Sencha Touch 2.4.2 auf EXT JS 6.0.2 (modern) zu migrieren. Ich struggeling derzeit mit Routen in einem meiner Controller:Migration von Sencha Touch zu EXT JS 6 - Standard/Leere Routen für Contoller

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

doB() immer funktioniert perfekt:

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

Was ich will, so etwas wie die folgende ist! Aber irgendwie funktioniert die erste Route nicht mit EXT JS 6.0.2, aber es funktionierte mit Sencha Touch 2.4.2. Ich habe auch versucht die folgenden statt '' : 'doA'

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

Frage: Weiß jemand, wie man das gewünschte Verhalten oben erhält?

Wenn ich irgendwelche erforderlichen Informationen vermisse, lass es mich in den Kommentaren wissen!

Jede Hilfe wird geschätzt! Vielen Dank im Voraus!

Antwort

0

Von der ExtJS Dokumentation:

Wenn eine Anwendung gestartet wird, kann es eine Standard-Hash- , wenn man nicht vorgesehen ist hinzuzufügen, konfiguriert werden. Wenn die Anwendung z. B. ein -Dashboard anzeigt, wenn der Hash-Wert #home verwendet wird, möchten Sie möglicherweise den Hash-Wert #home dem URI hinzufügen, wenn kein anderer Hash vorhanden ist. Um einen Standard Hash zu aktivieren, Sie können verwenden, um die default Token config in der /app/view/Application.js Datei, , die in Ihrer Anwendung zu finden ist:

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

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

+0

Vielen Dank für Ihre Antwort! Ich habe es versucht und meine Routen zu 'routes: <'home' geändert: 'doA', ': id': 'doB'}'. Das bewirkt einen Aufruf von 'http: // localhost/# home', um beides auszuführen: doA() und doB() – Jan