Routing Ember.js: jak ustawić domyślną trasę do natychmiastowego renderowania?

Jestem pewien, że stanie się to jasne, gdy zacznę głębiej, ale na razie nie jest jasne, jak to zrobić.

Śledziłem informacjeten pomocny artykuł SO o routingu ale na przykładzie brakuje ważnego fragmentu, tj. jak uzyskać widok „domowy”, aby natychmiast renderować, bez konieczności klikania linku „dom”?

Zacząłem zagłębiać się w doktorów, aby spróbować zrozumieć, ale w międzyczasie wydaje się, że użytecznym pytaniem jest odpowiedź dla potomności.

Grałem z działającym przykładem jsfiddle z powyższego pytaniatutaj i porównując z tym innym przykładem, znalazłem towydaje się, że działa domyślny routing

Do tej pory to wciąż tajemnica.

Aktualny kod:

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");
        }
  }) 
});

AKTUALIZACJA: Rozwiązanie

Okazuje się, że powodem, dla którego nie działał przykład, był fakt, że był używanyEm.State.extend zamiastEm.Route.extend. Ciekawe jest to, że gdy przechodzę i zmieniam je jeden po drugim, przykład nie działa, dopóki nie zmienię ich wszystkich.

Oto działaprzykład:

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");
        }
  }) 
});

questionAnswers(3)

yourAnswerToTheQuestion