Routing w Backbone.js / Marionette.js - brak hashtagów, listy tras i routerów podrzędnych
Mam trzy pytania dotyczące routingu w Backbone.js / Marionette.js:
1) Jak mogę uzyskać listę wszystkich tras zarejestrowanych przez routery mojej aplikacji?Na przykład dla Express.js (w Node.js) takapp.routes
.
Próbuję zrobić to samo z Backbone.js / Marionette.js, ale nie mogłem znaleźć żadnej właściwości lub metody, która to zrobiła.
2) Chcę wyczyścić moje adresy URL i usunąć hashtag „#” przed nimi, wiem, że uruchamiają Routery, więc jak mogę to zrobić?Znalazłem następujący skrypt, który prototypuje router Backbone, ale jest to bardziej hack niż stabilne rozwiązanie:Prosty routing szkieletowy bez adresów URL mieszania
3) Czy możliwe jest posiadanie sub-routerów w Backbone.js / Marionette.js?Pod-router ma na myśli router, który obsługuje tylko część adresu URL, np .:
var AppRouter = Backbone.Router.extend({
routes: {
'articles' : 'MyArticleRouter'
}
});
var MyArticleRouter = Backbone.Router.extend({
routes: {
'science' : 'someMethod',
'literrature' : 'someOtherMethod'
}
});
To spowoduje, że moje adresy URL zostaną nieco skategoryzowane, pozwalając mi zdefiniować główne trasy w AppRouter i wszystkie podprogramy (część po drugim ukośniku „/”) w pod routerach.
Tak więc dla następującego adresu URL: „nazwa hosta / artykuły / nauka” proces routingu wyglądałby mniej więcej tak:
1) przekazać „/ articles / science” do AppRouter2) AppRouter dzieli URI i bierze część „/ articles”3) AppRouter znajduje zarejestrowaną trasę „/ artykuły”4) AppRouter rozpoznaje, że MyArticleRouter jest powiązany z tym elementem URI5) AppRouter przekazuje routing do tego routera i przekazuje tylko element „/ science” jako trasę6) MyArticleRouter kieruje „/ science” do someMethod () i uruchamia goZ góry dziękuję !