Конкретный маршрут canjs не вызывается при загрузке страницы с хэштегом

Что не так в коде? ожидаемые результаты: когда страница загружается как url/case#!open-cases или url/cases#!new, тогда должен быть вызван целевой список маршрутов('new route' или ':filter-cases route'), но он не случаться

PageControl = can.Control({
        init : function(el, options) {
            debugger;
        },
        'new route': function() {debugger;},
        ':filter-cases route': function() {debugger;
            new CaseList('#content');
        },
        'route': function(data) {debugger;
            new CaseList('#content');
        }
    });

    $(document).ready(function() {
        //initDialog();
        can.route(':filter-cases');
        can.route('case/:id');
        can.route('new');
        //can.route('', {filter: 'open' })
        can.route.ready();

        new PageControl(window);
    });

person Natallia    schedule 07.06.2014    source источник


Ответы (1)


Это должно работать, если вы вызываете can.route.ready() после инициализации элемента управления страницей:

$(document).ready(function() {
    //initDialog();
    can.route(':filter-cases');
    can.route('case/:id');
    can.route('new');
    //can.route('', {filter: 'open' })

    new PageControl(window);
    can.route.ready();
});
person Daff    schedule 08.06.2014