我正在研究ChaplinJS(骨干框架)。 以下是我的route.js代码块。
return function(match) {
match(':customer/getCardsNavSummary', {controller:'customer', action:'showPlan'});
match(':customer/getCardsNavSummary/:plan/:row', {controller:'customer', action:'showPlan'});
};
相反,我想做以下
return function(match) {
match(':customer/getCardsNavSummary(/:plan/:row)', {controller:'customer', action:'showPlan'});
};
这对骨干很有效。我也查看了rails的路由代码,然后就可以了。但是当涉及到chaplinjs时却没有!
在chaplinJS doc中,我找不到与路由器可选参数相关的任何内容。
答案 0 :(得分:1)
Chaplin.Router
不会延伸Backbone.Router
。据我所知,Chaplin.Router
无法实现您想要实现的目标。
由于两个路径(customer:showPlan)的所需端点相同,因此一种可能的解决方法是使用constraints option,其正则表达式与 getCardsNavSummary 和 getCardsNavSummary相匹配-plan-row 模式,然后在Controller中根据需要检查并解析此端点。