2013-05-01 2 views
0

물건을 얻으려면 매우 기본적인 라우터가 있지만 경로 처리를 시작하려면 Backbone.history.start()를로드 할 수 없습니다. jquery, 밑줄 & 백본이로드되었습니다.Backbone.history를 시작할 때 TypeError가 throw됩니다.

var AppRouter = Backbone.Router.extend({ 
    routes: { 
     "*query": "defaultRoute" 
    }, 

     initialize: function() { 
      Backbone.history.start(); 
     }, 

     defaultRoute: function(query) { 
      console.log(query); 
     } 
    }); 

var app_router = new AppRouter; 

내가지고있어 오류는 다음과 같습니다 : 내 백본 라이브러리 파일에

Uncaught TypeError: Object [object Object] has no method 'on' 

에 위치한 여기 내 기본 라우터입니다. 미리 감사드립니다.

+0

위에 게시 한 코드는 무료로 제공됩니다. [이 jsfiddle에서 확인해보십시오] (http://jsfiddle.net/WUYX9/). 나는 어디에서 문제가 발생했는지 아직도 확실치 않지만, 오류가 발생했다는 것을 나타내는 것은 backbone.Events에서 온 on 메서드를 사용하지 않는 개체에서 사용하려고한다는 것을 나타냅니다. 더 많은 컨텍스트/코드를 게시하면 더 많은 정보를 제공 할 수 있습니다. –

답변

0

그냥 Backbone.history.start(); 코드를 라우터 생성 외부로 옮길 수 있습니까? 이 파티에 늦게

$(function(){ 
    new AppRouter(); 
    Backbone.history.start(); 
}); 
+0

그래, 그걸 시도해 봤지만 똑같은 결과가 나왔어. – vincewilfork

+0

음 ... 그런데 백본과 관련이없는 것처럼 보입니다. 좀 더 디버깅 정보를 얻을 수 있습니까? Chrome이나 Firebug 콘솔에서와 마찬가지로 어떤 라인과 파일을 tellyou 할 수 있으며 오류가 발생하면 중단 점을 붙여서 호출 스택을 볼 수 있습니다 – Tallmaris

0

을하지만, 문제는 인터페이스 이벤트 매핑을 가진 객체를 포함해야 현재보기의 '이벤트'속성에 가능성이 높습니다 : 기본적으로 완전히 응용 프로그램을 부트 스트랩 한 후 다음과 같이 넣어 : http://backbonejs.org/#View.

관련 문제