我希望有一种RESTful URL结构,如下所示:
我已经设置了我的路线:
MyRouter = Backbone.Router.extend({ routes : { '/accounts': 'accounts', '/accounts/account/:account': 'account', }, accounts: function() { console.log('accounts CALLED'); }, account: function() { console.log('account CALLED'); }, });
问题是,当我去 / accounts / account / 123 时, 帐户() 并且 account() 被调用(因为URL匹配两个路由)。我尝试了一种路由,例如 / accounts $ ,但它看起来不像路由哈希所支持。
有没有办法实现这个目标?手动 router.route(路由,名称,回调) 会改为工作吗(虽然我真的不愿意这样做)。
答案 0 :(得分:1)
我通过another SO question清除了这个问题。我没有意识到我必须严格使用 router.navigate 功能。
以编程方式(不通过浏览器栏)使用路由器,这些重复的呼叫消失了。我还看到只使用一次的预期功能......当使用 router.navigate 时。
我仍然需要了解如何捕获&转发按钮来调用这些功能。感谢您的反馈到目前为止。
答案 1 :(得分:0)
尝试使用/ accounts $。 $是字符串结尾的正则表达式。