骨干路由器路由定义,以处理所有这些条件
Backbone Router route definition to handle all these conditions
我想要的是一个可以在一行中处理以下所有路由的路由。
目前看起来是这样的:
routes: {
'item': 'itemConsole',
'item/view/:workflowId': 'itemDetail',
'item/create': 'itemCreate',
'item/create/:templateId': 'itemCreate',
'item/task/:taskId': 'itemTask',
'item/metrics': 'itemMetrics',
'item/notAccessible': 'itemNotAccessible',
}
我想用这里提到的splat(*)把它浓缩成
这在'item(*thing)': 'itemController'
中起作用,但控制器会传递一个字符串,然后我必须对其进行拆分等等。我宁愿它将它们作为参数(action, id)
传递给我的控制器,而不是单个字符串参数。
路线(/:optional)
中的可选部件可以做到这一点:
var Router = Backbone.Router.extend({
routes: {
'item(/:action)(/:id)': 'itemController'
},
itemController: function (action, id) {
console.log(action, id);
}
});
演示http://jsfiddle.net/nikoshr/w10Lpkcm/
一段
var Router = Backbone.Router.extend({
routes: {
'item(/:action)(/:id)': 'itemController'
},
itemController: function (action, id) {
$('#log').append(JSON.stringify({
action: action,
id: id
}));
}
});
new Router();
Backbone.history.start();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://underscorejs.org/underscore-min.js"></script>
<script src="http://backbonejs.org/backbone-min.js"></script>
<a href='#item'>#item</a>
<hr />
<a href='#item/view'>#item/view</a>
<hr />
<a href='#item/view/1'>#item/view/1</a>
<hr />
<a href='#item/create'>#item/create</a>
<hr />
<a href='#item/create/2'>#item/create/2</a>
<div id='log'></div>
相关文章:
- 如何使用服务器上的react路由器处理所有可能的路由
- 异步处理所有事件处理程序的方法
- 如何循环浏览页面源中的所有文本框元素并查找所有这些文本框的名称
- 从表单字段复制数据并将其放在echo语句中,所有这些都在$xml=simplexmlload_file函数中
- 所有这些JavaScript到底都去哪儿了
- 如何处理所有 AJAX 调用的特定 HTTP 错误
- 处理所有 AJAX 调用的通用方法
- 如何创建自定义事件来处理所有转换结束事件
- 是否可以对 React.js DOM 树执行所有这些 jQuery 操作
- 设置同步/异步函数序列的正确方法,所有这些函数都可以停止表单提交和进一步处理
- 验证表单,检查用户是否存在,注册它们.所有这些都与阿贾克斯有关
- 从单击表单的 html 表行中预填充表单字段.(所有这些都应该发生在JSP上)
- D3 geo:获取 projection.clipAngle 以处理所有指定的元素
- 如何使用单选按钮禁用下拉列表中的选项,所有这些都在同一个下拉列表中.使用Javascript
- 人们如何在不透露他们的谷歌API密钥的情况下将所有这些很酷的谷歌地图示例放在jsFiddle上
- 标签式网站在 ASP.NET,想打印所有这些,推荐.
- 如何在数据库中插入所有这些详细信息
- 骨干路由器路由定义,以处理所有这些条件
- Javascript散列和密码实现,任何脚本都可以处理所有这些
- 如何使用DHTML动态创建表单控件,并使用JSF处理所有这些控件