2014-06-07 3 views
0

코드에 어떤 문제가 있습니까? 예상 결과 : url/case #! open-cases 또는 url/cases #! new와 같은 페이지가로드 될 때 대상 경로 listner ('new route'또는 ': filter-cases route')는 호출되어야하지만 그렇지 않습니다. 일해시 태그가있는 페이지로드시 특정 canjs 라우트가 호출되지 않습니다.

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); 
    }); 

답변

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(); 
}); 
관련 문제