Backbone 带有任意文本的路由

Backbone routing with arbitrary text

我有一个页面从外部重定向到 backbone 代码库。它有两个参数:

不确定 CODE 参数是否已编码。如果需要,我想我可以让他们控制它。但目前的问题只是匹配。

我是一名维护程序员,最初不是我的应用程序,所以只是想编写 "fits".

的代码

大多数现有路由只采用一个 ID。例如

"account-edit-:accountId"    : "accountEditRoute"

但是我如何将我的两个参数传递到我的流程路线。我试过:

"process-:id-:code"    : "processCode"
"process-[^-]*-:code"  : "processCode"
"process-:id/:code"    : "processCode"
"process-:id/*"        : "processCode"

我的代码处理程序是这样的:

processCode: function(id, code) {
...
}

我总是收到未知的路由处理程序。那我怎么匹配上面的呢

抱歉,如果这是一个愚蠢的问题 - 但他们(明智地)通常不会让我靠近前端,所以这对我来说都是新的。

我相信您必须使用带正则表达式的 Router-route 选项来完成。路由哈希只能匹配简单的模式。

Manually create a route for the router, The route argument may be a routing string or regular expression. Each matching capture from the route or regular expression will be passed as an argument to the callback.

initialize: function(options) {

 // Matches #page/10, passing "10"
  this.route("page/:number", "page", function(number){ ... });

 // Matches /117-a/b/c/open, passing "117-a/b/c" to this.open
 this.route(/^(.*?)\/open$/, "open");

},

open: function(id) { ... }