Roteamento em Backbone.js / Marionette.js - sem hashtags, lista de rotas e sub-roteadores
Eu tenho três perguntas sobre o roteamento em Backbone.js / Marionette.js:
1) Como posso obter uma lista de todas as rotas que os roteadores do meu aplicativo registraram?Por exemplo, para Express.js (em Node.js) seriaapp.routes
.
Eu estou tentando fazer o mesmo com Backbone.js / Marionette.js, mas não encontrei nenhuma propriedade ou método que fez isso.
2) Eu quero limpar meus URLs e remover a hashtag "#" na frente deles, eu sei que eles acionam os roteadores então como posso conseguir fazer isso?Eu encontrei o seguinte script que protótipos do roteador Backbone, mas é mais um truque do que uma solução estável:Roteamento de backbone simples sem URLs hash
3) É possível ter sub-roteadores em Backbone.js / Marionette.js?O que quero dizer com sub-roteador é um roteador que manipula apenas parte de um URL, por exemplo:
var AppRouter = Backbone.Router.extend({
routes: {
'articles' : 'MyArticleRouter'
}
});
var MyArticleRouter = Backbone.Router.extend({
routes: {
'science' : 'someMethod',
'literrature' : 'someOtherMethod'
}
});
Isso classificaria meus URLs um pouco mais, deixando-me definir as rotas principais no AppRouter e todas as sub-rotinas (parte após a segunda barra "/") em sub-roteadores específicos da categoria.
Então, para o seguinte URL: "hostname / articles / science", o processo de roteamento seria algo como isto:
1) passe "/ articles / science" para AppRouter2) AppRouter divide o URI e pega a parte "/ articles"3) AppRouter encontra a rota "/ artigos" registrada4) AppRouter reconhece que MyArticleRouter está vinculado a esse elemento URI5) O AppRouter encaminha o roteamento para esse roteador e somente passa o elemento "/ science" como rota6) MyArticleRouter rotas "/ science" para o someMethod () e executaAgradeço antecipadamente !