我有一个奇怪的问题,我还没有弄清楚。这很简单,这可能就是我遇到问题的原因:)
首先,这是路由表...
routes: {
'': 'root', //called
'report': 'report', // called
'report/add': 'reportAdd', // not called
'report/print': 'reportPrint', // not called
'report/settings': 'reportSettings', // not called
},
您会看到我标记了哪些有效,哪些无效。问题归结为所有子路由(即report/add
)不匹配。
骨干历史在 main.js 中被正确调用,如下所示:
app.Router = new Router();
Backbone.history.start({ pushState: true });
显然,这是在正确的位置,因为路线正在工作,而不是子路线。我已经尝试了所有root
选项Backbone.history
和沉默,parameter
但没有任何运气。
我想这是一个配置/设置问题,但我找不到任何答案。我究竟做错了什么?任何帮助深表感谢。
顺便说一句,我正在使用 requirejs 和 Backbone Boilerplate,但我不知道这会有什么不同。
更新:虽然提供的答案在技术上是正确的,但问题出在 Backbone Boilerplate 上。有关说明,请参阅此博客文章的底部。我和那里的第一个评论者有同样的问题。