2

我正在为我的路由器使用以下配置:

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格式的 URL与 func1 路由匹配。

#it​​em /1/3之类的URL被传递到 defaultAction 路由。

我无法弄清楚为什么可选参数不匹配。

4

1 回答 1

1

对于其他人,参数名称中不允许使用“-”字符。(虽然它被允许成为路线的一部分。)

您可以将“param-2”替换为“param_2”,它会起作用。

于 2013-11-09T00:53:26.280 回答