我正在尝试在 Backbone 0.9.10 中设置路由。我想匹配以下类型的路线:
/england/
/england/birmingham
/france
/france/paris
...
等等。这就是我目前在路由器中的内容:
var AppRouter = Backbone.Router.extend({
routes: {
"": "index",
"(/:country)": "index",
"(/:country)(/:city)": "index"
},
index: function(country, city) {
console.log('index', country, city);
}
});
var StateApp = new AppRouter();
Backbone.history.start({ pushState: true });
我有两个问题:
- 'index' 函数目前根本没有触发,无论我转到 = 的 URL
/
还是/england
其他任何东西。 - 我也不清楚可选参数是否会按照我设置的方式工作 - 可以像这样连续有两个可选参数吗?我还不知道我需要支持多少个国家,所以我确实希望
country
参数是一个参数,而不是指定单个国家。
如果可能的话,我宁愿使用正确的 URL 路由而不是正则表达式解析。