javascript - Backbone.js 路由器动态第一个参数

标签 javascript node.js backbone.js router

我目前有一个包含多个常规页面的路由对象,并且还想添加一个顶级路由,其中​​第一个参数是用户名。

routes : {
  '/'        : 'main',
  '/login'   : 'login',
  '/about'   : 'about',
  '/create'  : 'create',
  '/:username': 'getUser' //something like this
  '*actions' : 'defaultHandler'
}
  1. 我该如何实现这一目标?
  2. 添加用户名路由,同时在找不到页面或用户时又依赖于操作,这会是糟糕的设计吗?

最佳答案

当您有一个名为“about”或“create”的用户时会发生什么?为您的路线命名并避免问题:

routes : {
  '/'          : 'main',
  '/a/login'   : 'login', // "a" for "application"
  '/a/about'   : 'about',
  '/a/create'  : 'create',
  '/a/*actions': 'defaultHandler',
  '/:username' : 'getUser'
}

那么您只需确保没有人将“a”作为用户名即可。如果您添加更多路由,此方法还可以保护您免受 future 冲突的影响。

关于javascript - Backbone.js 路由器动态第一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10134405/

相关文章:

javascript - 将 Sequelize 与 bcrypt async 一起使用

ruby-on-rails - 使用 Backbone Rails 并得到 `cannot load such file -- ejs`

javascript - subview 中的按钮在 Backbone js的主视图中不起作用

javascript - 事件处理程序未附加到选择菜单

javascript - Google Apps 脚本 (Javascript) - findText 返回相对于内联图像的位置,而不是段落的开头

javascript - eslint - vscode 的可选链接错误

javascript - 在 Backbone Marionette 2.4.4 中将下划线 1.8.3 换成 lodash 4.2.1

javascript - 简单 <tr> 单击 强制包含 <a> 单击

Javascript 破坏 Css 字体样式(Linkedin Badge)

javascript - ssl 版本或密码不匹配 ExpressJS