Магистральные маршруты: необязательный параметр не соответствует

Я использую следующую конфигурацию для своего маршрутизатора:

var Router = Backbone.Router.extend({
            routes: {
                'item/:param(/:param-2)': 'func1',

                // Default
                '*actions': 'defaultAction'
            }
        });

Я инициализирую маршрутизатор следующим образом:

    var router = new Router;

    router.on('route:func1', function(param1, param2){
        console.log("Route: summary, class_id: " + class_id);

    });

Но только URL-адреса формата #item/1 соответствуют маршруту func1.

URL-адреса типа #item/1/3 передаются в маршрут defaultAction.

Я не могу понять, почему необязательный параметр не соответствует.


person Deepak Joy Cheenath    schedule 10.09.2013    source источник
comment
Я понял это в конце концов. - по-видимому, не допускается в маршрутах.   -  person Deepak Joy Cheenath    schedule 10.09.2013
comment
Это сработало, когда я заменил - на _   -  person Deepak Joy Cheenath    schedule 10.09.2013


Ответы (1)


Для других не допускается использование символа "-" в имени параметра. (Хотя он может быть частью маршрута.)

Вы можете заменить «param-2» на «param_2», и это сработает.

person TheJoe    schedule 09.11.2013