Ember.js-Routing: Wie legen Sie eine Standardroute fest, die sofort gerendert wird?

Ich bin mir sicher, dass dies klar wird, wenn ich tiefer grabe, aber im Moment ist nicht klar, wie dies geschehen soll.

Ich verfolgte die Informationen aufDieser hilfreiche SO-Artikel zum Thema Routing In dem Beispiel fehlt jedoch ein wichtiger Teil, d. h. wie können Sie die Ansicht "Home" sofort rendern, ohne auf den Link "Home" klicken zu müssen?

Ich habe angefangen, in den Dokumenten nachzuschlagen, um einen Sinn daraus zu ziehen, aber mittlerweile scheint es eine nützliche Frage zu sein, die für die Nachwelt beantwortet wurde.

Ich habe mit dem funktionierenden jsfiddle-Beispiel aus der obigen Frage gespieltHier und im Vergleich zu diesem anderen Beispiel fand ich dasAnscheinend funktioniert das Standardrouting

Bisher ist es noch ein Rätsel.

Aktueller Code:

App.Router = Em.Router.extend({
  enableLogging: true,
  location: 'hash',

  root: Em.State.extend({
    // EVENTS
    goHome: Ember.State.transitionTo('home'),
    viewProfile: Ember.State.transitionTo('profile'),

    // STATES
    index: Em.State.extend({
        route: "/",
        redirectsTo: 'home'
    }),

    home: Em.State.extend({
        route: '/home',
        connectOutlets: function(router, context) {
            var appController = router.get('applicationController');
            appController.connectOutlet('home');
        }
    }),

    // STATES
    profile: Em.State.extend({
        route: '/profile',
            connectOutlets: function(router, context) {
              var appController = router.get('applicationController');
              appController.connectOutlet('profile');
            }
        }),
        doOne: function() {
            alert("eins");
        }
  }) 
});

UPDATE: Lösung

Es stellt sich heraus, dass das Beispiel, mit dem ich gearbeitet habe, nicht funktioniert hat, weil es verwendet wurdeEm.State.extend eher, alsEm.Route.extend. Der interessante Teil ist, dass das Beispiel nicht funktioniert, wenn ich sie nacheinander ändere, bis ich sie alle ändere.

Hier ist die ArbeitBeispiel:

App.Router = Em.Router.extend({
  enableLogging: true,
  location: 'hash',

  root: Em.Route.extend({
    // EVENTS
    goHome: Ember.State.transitionTo('home'),
    viewProfile: Ember.State.transitionTo('profile'),

    // STATES
    index: Em.Route.extend({
        route: "/",
        redirectsTo: 'home'
    }),

    home: Em.Route.extend({
        route: '/home',
        connectOutlets: function(router, context) {
            var appController = router.get('applicationController');
            appController.connectOutlet({name: 'home'});
        }
    }),

    // STATES
    profile: Em.Route.extend({
        route: '/profile',
            connectOutlets: function(router, context) {
              var appController = router.get('applicationController');
              appController.connectOutlet('profile');
            }
        }),
        doOne: function() {
            alert("eins");
        }
  }) 
});

Antworten auf die Frage(3)

Ihre Antwort auf die Frage