javascript - Marionette 路由器未定义

标签 javascript jquery backbone.js marionette

我无法运行下面的代码,因为在我看来路由器未定义。然而,我很难理解我实际上在哪里定义了 var router = new MyRouter(); 我的 View 、 Controller 应用程序启动等?

我正在使用ma​​rionette,我的路由器似乎会自动匹配我的 Controller 。

success: function (page) {
   id = page.get('id')
   router.navigate('page/' + id, {trigger: true});
}

最佳答案

如果您没有声明 router 属性,则您没有可用的属性(它不会自动创建或任何其他内容),因此会出现 undefined 值.

要导航到给定页面,您还可以使用 Backbone.history.navigate(例如,参见 https://github.com/davidsulc/marionette-gentle-introduction/blob/master/assets/js/app.js )。

此外,您可能需要根据解释的原因重新考虑使用 trigger: true 选项 here (路由篇)免费样例发到我的book on Marionette .

关于javascript - Marionette 路由器未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20036929/

相关文章:

javascript - 检查 iframe 是否有可见的滚动条?

jquery - 链 jQuery promise

javascript - "Single-page"JS 网站和 SEO

javascript - 如何让后退按钮与 AngularJS ui-router 状态机一起使用?

javascript - 如果链中的所有对象都存在则获取值,如果不存在则获取回退值

javascript - JS/jQuery(隐藏div,点击显示div)

javascript - 使用Backbone.js发布数据时如何防范CSRF?

javascript - 意外 token "."(句点)

javascript - 将 json 加载到 chart.js 中

javascript - Chart.js 按时间顺序显示数据