Ember.js routing: wie legen Sie eine default-route auf das Rendern sofort starten?

Ich bin sicher, dass dies klar geworden, als ich zu Graben tiefer, aber für jetzt ist es nicht offensichtlich, wie dies zu verwirklichen.

War ich nach der info auf diese hilfreich ALSO Artikel über routing aber es ist ein wichtiges Stück fehlt, aus dem Beispiel, also wie kommst du auf die "home" - Ansicht zu Rendern sofort, ohne zu klicken Sie auf die "home" - link?

Habe ich begonnen zu Graben in die docs zu versuchen, Sinn zu machen, aber mittlerweile scheint es wie eine nützliche Frage beantwortet haben, für die Nachwelt.

Spiele ich schon mit den arbeiten jsfiddle Beispiel aus der obigen Frage hier und den Vergleich mit dieser anderen Beispiel, das ich gefunden, dass scheint die Standard-routing zu arbeiten

Bisher ist es immer noch ein Rätsel.

Aktuellen 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 der Grund, warum das Beispiel, das ich arbeitete, war nicht arbeiten war, weil es war mit Em.State.extend eher als Em.Route.extend. Der interessante Teil ist, dass, wie ich Schritt für Schritt durch und ändern Sie Sie eine nach eine das Beispiel nicht funktioniert, bis ich alle ändern von Ihnen über.

Hier ist die Arbeit Beispiel:

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

InformationsquelleAutor radixhound | 2012-06-22

Schreibe einen Kommentar