我在路由器上使用以下配置:
var Router = Backbone.Router.extend({
routes: {
'item/:param(/:param-2)': 'func1',
// Default
'*actions': 'defaultAction'
}
});
我按如下方式初始化路由器:
var router = new Router;
router.on('route:func1', function(param1, param2){
console.log("Route: summary, class_id: " + class_id);
});
但只有格式为#item / 1 的网址才会与func1路由匹配。
#item / 1/3 等网址会传递给defaultAction路由。
我无法弄清楚为什么可选参数不匹配。
答案 0 :(得分:1)
对于其他人,参数名称中不允许使用“ - ”字符。 (虽然允许它是路线的一部分。)
您可以将“param-2”替换为“param_2”,它将起作用。