Dla celów sprawozdawczych, chcę kojarzyć pewne metadane z trasy Ember, i wolałaby, aby to zrobić w następujący sposób:Dodawanie i pobieranie metadanych z tras Ember
this.route('list', { path: '/list', description: 'Master List' });
wtedy dostęp do tej description
nieruchomość od miejsc takich jak sama trasa lub z innego miejsca, na przykład hak didTransition
na routerze aplikacji. Sprawdziłem źródło dla routera i trasy i nie mogę powiedzieć, że naprawdę to rozumiem, na pewno nie na tyle dobrze, aby zrozumieć, jak pobierać niestandardowe właściwości określone w ten sposób. Widzę obiekt o nazwie DSL, który jest prawdopodobnie this
z this.route
określony w metodzie map
na Router
, ale nie może zobaczyć, jak dostać się stąd do tego miejsca. Z podklasy Ember.Route
widzę właściwości o nazwach this.router
i this.router.router
, ale nie jestem pewien, na co one wskazują.
Albo dodaje również, że jeśli praca pozwoliła mi zrobić to, co chciałem:
this.route('list', { path: '/list' }, function() {
this.description = "Master List";
});
mogę powiązać właściwości niestandardowe z trasą określoną w Router#map
, a jeśli tak, to w jaki sposób?
Widzę, że próbujesz przejść przez kod źródłowy, aby spróbować go przetestować - więc przyjmę, że wygodnie rozszerzasz/modyfikujesz domyślne implementacje Ember.Router/Ember.Route i implementujesz własne wersje EmberDSL - który implementowałby/zmieniałby wiele prywatnych API - aby osiągnąć cel końcowy, którego szukasz. Będziesz musiał aktualizować swoje implementacje ze zmianami w Ember - zawsze upewniając się, że twoja działała po aktualizacji. Czy jest to coś, co chcesz zrobić, aby uzyskać pożądany rezultat? – jmurphyau