2013-03-19 94 views

回答

3

骨干routes objects不提供的灵活性相当这一水平。但是,您可以使用手动route method添加路由的正则表达式:

路线router.route(route, name, [callback])

手动创建路由器的路由,该route参数可以是一个路由字符串或正则表达式。

所以你可以做这样的事情在你的路由器:

initialize: function() { 
    this.route(/^myaction\/.*PleaseMatchMeIfYourFindMe/, 'handler_method'); 
} 

你当然会调整正则表达式匹配您的实际需求。如果您想要将正则表达式的一部分作为您的处理程序的参数,请根据需要添加捕获组。

演示:http://jsfiddle.net/ambiguous/pFXr6/

-1

你的问题不清楚。您可以在路由定义中使用的参数是这样的:

var Route = Backbone.Router.extend({ 
    routes: { 
     'myaction/:param1/:param2/:param3/:param4': 'myActionCallback', 
    }, 
    myActionCallback: function(param1, param2, param3, param){ 
     //your magic starts here 
    } 
+0

我知道标准示例模式。我不知道什么是不明确的。如果URL在我的操作后包含指定的字符串,则匹配路由。 – 2013-03-19 05:30:10