O roteador Marionette está indefinido
-
21-12-2019 - |
Pergunta
Não consigo executar o código abaixo porque roteador é indefinido na minha opinião.No entanto, estou lutando para entender onde realmente defini var router = new MyRouter();
minha visão, início do aplicativo controlador, etc?
estou a usar marionete e meu roteador parece corresponder automaticamente aos meus controladores.
success: function (page) {
id = page.get('id')
router.navigate('page/' + id, {trigger: true});
}
Solução
Se você não declarou router
atributo, você não tem um disponível (ele não é criado automaticamente nem nada), daí o undefined
valor.
Para navegar para uma determinada página, você também pode usar Backbone.history.navigate
(ver por exemplo https://github.com/davidsulc/marionette-gentle-introduction/blob/master/assets/js/app.js).
Além disso, você pode querer reconsiderar o uso do trigger: true
opção, pelas razões explicadas aqui (capítulo de roteamento) na amostra grátis para meu livro sobre marionete.