卓别林路由器可选参数

时间:2013-07-18 06:16:49

标签: backbone.js backbone-routing chaplinjs

我正在研究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中,我找不到与路由器可选参数相关的任何内容。

1 个答案:

答案 0 :(得分:1)

Chaplin.Router不会延伸Backbone.Router。据我所知,Chaplin.Router无法实现您想要实现的目标。

由于两个路径(customer:showPlan)的所需端点相同,因此一种可能的解决方法是使用constraints option,其正则表达式与 getCardsNavSummary getCardsNavSummary相匹配-plan-row 模式,然后在Controller中根据需要检查并解析此端点。