骨干网.js路由器动态第一参数
Backbone.js Router dynamic first parameter
我目前有一个具有多个常规页面的路由对象,并且还想添加一个顶级路由,其中第一个参数是用户名。
routes : {
'/' : 'main',
'/login' : 'login',
'/about' : 'about',
'/create' : 'create',
'/:username': 'getUser' //something like this
'*actions' : 'defaultHandler'
}
- 我将如何实现这一目标?
- 添加用户名路由,同时在找不到页面或用户时回退操作,这是否设计不好?
当您有一个名为"about"或"create"的用户时会发生什么?为路由命名空间并避免此问题:
routes : {
'/' : 'main',
'/a/login' : 'login', // "a" for "application"
'/a/about' : 'about',
'/a/create' : 'create',
'/a/*actions': 'defaultHandler',
'/:username' : 'getUser'
}
然后,您只需要确保没有人将"a"作为用户名即可。此方法还可以在添加更多路由时保护您免受将来冲突的影响。
如果我理解正确,你就在那里。只需添加username
作为getUser
函数的参数:
getUser: function(username) { /* do stuff */ }
但是,有一个问题,因为您的最后两条路线都可以匹配任何内容。为了识别用户,您可以使用前缀将用户路由与最终 splat 匹配的所有路由区分开来。这样的事情应该就足够了:
routes : {
// ...
'/users/:username': 'getUser'
}
相关文章:
- Facebook共享动态参数链接
- 在动态创建的元素中包含参数的事件处理程序
- Javascript 动态将参数化函数分配给 onclick
- Emberjs - 将参数动态绑定到视图
- 在 angularjs 的 ga 命令中设置动态参数
- 限制与AngularJS状态匹配的动态URL参数的最佳方式
- Jquery-将参数动态传递给函数
- 通过参数将传递的函数分配给动态创建的输入类型的onclick事件
- 如何为jQuery帖子输入动态数据参数
- Javascript动态锚点参数
- Jquery 在 Firefox 中的自定义对象参数(动态导航加载动态内容)
- 使用来自 json 对象的参数动态调用方法/函数
- 根据参数动态调整对象名称
- 根据泛型函数中的参数动态添加ajax处理程序
- 使用传递给函数的参数动态地从一组数组中检索值
- 使用参数动态引用json对象
- 由于某些原因,基于路由参数动态注入特定工厂会失败
- 用不同的参数动态初始化服务
- 如何根据参数动态构建JavaScript指令
- 基于函数参数动态调用javascript函数