Ai fini dei rapporti, voglio associare alcuni metadati con un percorso Ember, e preferirebbero farlo come segue:Aggiunta e recupero dei metadati da percorsi Ember
this.route('list', { path: '/list', description: 'Master List' });
quindi accedere a questa proprietà description
da posti come il instradare se stesso o altrove, ad esempio il gancio didTransition
sul router dell'applicazione. Ho esaminato il sorgente per Router e Route e non posso dire di averlo compreso appieno, certamente non abbastanza bene da capire come recuperare le proprietà personalizzate specificate in questo modo. Vedo che c'è un oggetto chiamato DSL, che è apparentemente lo this
dello this.route
specificato nel metodo map
su Router
, ma non riesco a vedere come arrivare da qui a lì. Dall'interno di una sottoclasse di Ember.Route
, vedo le proprietà chiamate this.router
e this.router.router
, ma non sono chiaro su cosa puntino a questo.
Oppure, quanto segue potrebbe anche funzionare se questo mi ha permesso di fare quello che volevo:
this.route('list', { path: '/list' }, function() {
this.description = "Master List";
});
Posso associare le proprietà personalizzate con un percorso specifico in Router#map
, e se sì, come?
Vedo che hai tentato di passare attraverso il codice sorgente per provare a risolverlo - quindi prendo il fatto che sei a tuo agio nell'estendere/modificare le implementazioni predefinite di Ember.Router/Ember.Route e implementare le tue versioni del EmberDSL - che implementerebbe/modificherà molte API private - per ottenere l'obiettivo finale che stai cercando. Dovresti mantenere aggiornate le tue implementazioni con le modifiche in Ember - assicurandoti sempre che il tuo abbia funzionato quando hai aggiornato. È qualcosa che sei disposto a fare per ottenere il risultato che desideri? – jmurphyau