Für die Berichterstattung, möchte ich einige Metadaten mit einem Ember Route assoziieren, und würde es bevorzugen, wie folgt:Hinzufügen und Abrufen von Metadaten aus Ember Routen
this.route('list', { path: '/list', description: 'Master List' });
dann Zugriff auf diese description
Eigenschaft von Orten wie der Route selbst oder von anderswo, wie der didTransition
Hook auf dem Anwendungs-Router. Ich habe die Quelle für Router und Route überprüft und kann nicht sagen, dass ich sie wirklich verstehe, sicherlich nicht gut genug, um zu verstehen, wie benutzerdefinierte Eigenschaften abgerufen werden, die auf diese Weise angegeben werden. Ich sehe da ist ein Objekt namens DSL, das ist offensichtlich die this
der this.route
in der map
Methode auf Router
spezifiziert, kann aber nicht sehen, wie man von hier nach dort kommt. Aus einer Unterklasse von Ember.Route
sehe ich Eigenschaften genannt this.router
und this.router.router
, aber ich bin unklar, was diese Punkte zeigen.
Oder würde folgende auch funktionieren, wenn das mir erlaubt, zu tun, was ich wollte:
this.route('list', { path: '/list' }, function() {
this.description = "Master List";
});
Kann ich assoziiere benutzerdefinierte Eigenschaften mit einer Route in Router#map
angegeben, und wenn ja, wie?
Ich kann sehen, Sie haben versucht, den Quellcode zu durchlaufen, um es auszuprobieren - also nehme ich an, Sie sind wohl dabei, die Standardimplementierungen von Ember.Router/Ember.Route zu erweitern/zu modifizieren und Ihre eigenen Versionen des EmberDSL - das würde viele private APIs implementieren/ändern - um das gewünschte Endziel zu erreichen. Sie müssten Ihre Implementierungen mit Änderungen in Ember auf dem neuesten Stand halten - immer sicherstellen, dass Ihre bei der Aktualisierung funktionierte. Ist das etwas, was Sie tun wollen, um das gewünschte Ergebnis zu erzielen? – jmurphyau