我正在使用 Backbone.js 编写应用程序。我希望用户登录并创建此路线:
www.example.com/#username
当她浏览应用程序时,我希望 url 看起来像这样:
www.exmaple.com/#username/newroute
问题是我事先不知道用户名,因此我无法在启动 Backbone 时将其添加到路由中。我试过像这样将变量传递给路由器:
routes: {
myVariableWithName : "route"
}
但是这个变量不能以我能想到的任何方式传递。
所以我尝试了不同的解决方案。当用户登录时,我会得到他的用户名并使用 router.navigate(userName) 进行设置。然后我在 html 中创建的每个链接都会有这样的名称:
<a href="#username/route/"></a>
routes: {
'route/' : 'route'
}
这在使用时不起作用:
routes: {
'route/:id' : 'route'
}
所以我的问题是,我该怎么做?