2013-05-26 4 views
0

저는 backbone.js의 초보자이며 첫 번째 라우터를 작성하고 있습니다. 내가 페이지를로드 할 때 나는 내 실수 무엇인지 알고있다 나는firebug의 backbone.js 라우터 오류

TypeError: router.on is not a function router.on('route:home', function(){

처럼 불을 지르고에서 오류를 받고 있어요, 아래 백본 라우터,

<html lang="en" class="no-js"> 
    <head> 
     <meta charset="utf-8"> 

     <title>My First Backbone Tutorial</title> 
     <meta name="author" content="David Goodlad <[email protected]>"> 

     <link rel="stylesheet" href="style/screen.css" media="screen, projection"> 
     <link rel="stylesheet" href="style/fancypants.css" media="screen, projection"> 

     <script type="text/template" id="library-template"> 
      <h1> Music Library</h1> 
      <ul class="albums"></ul> 
     </script> 

     <script type="text/template" id="album-template"> 
      <span class="album-title"><%= title %></span> 
      <span class="artist-name"><%= artist %></span> 
      <ol class="tracks"> 
       <% _.each(tracks, function(track) { %> 
       <li><%= track.title %></li> 
       <% }); %> 
      </ol> 
     </script> 

    </head> 

    <body> 
     <div id="container"> 
      <h1>User manager</h1> 
      <hr /> 
      <div class="page"></div> 
     </div> 
     <script src="js/vendor/jquery-1.5.1.min.js"></script> 
     <script src="js/vendor/underscore.js"></script> 
     <script src="js/vendor/backbone.js"></script> 
     <script> 
      var Router = Backbone.Router.extend({ 
       routes:{ 
        "" : 'home' 
       } 
      }); 
      var router = new Router(); 
      router.on('route:home', function(){ 
       console.log("======================================") 
      }); 
      Backbone.history.start(); 
     </script> 

    </body> 
</html> 

있습니다.

미리 감사드립니다.

+0

당신은 분명히 그 이상으로 좀 더 많은 정보를 공유하십시오. Backbone.Router는 Backbone.Events를 확장하므로'on' 메서드가 완벽하게 작동합니다. – Loamhoof

답변

0

파일에 붙여 넣은 코드 만 있으면 Backbone.hisrory.start(); 그것은 나를 위해 일했습니다. 그래도 문제가 해결되지 않으면 조금 더 코드를 공유하여 살펴볼 수 있습니다. 나는 그것이 백본 파일과 그 의존성을 어떻게 추가하고 있는지에 대한 문제일지도 모른다라고 생각한다. 그러나 나는 확실히 말할 수 없다.

var Router = Backbone.Router.extend({ 
    routes:{ 
     '' : 'home' 
    } 
}); 
var router = new Router(); 
router.on('route:home', function(){ 
    console.log("======================================") 
}); 
Backbone.history.start(); 
+0

안녕하세요, 전체 코드로 내 질문을 편집하고 Backbone.js 0.5.1 버전을 사용하고 있습니다. 누구든지이 문제를 해결할 수 있도록 도와주세요. –

+1

내가 사용하는 Jquery 버전이 백본에서 지원되지 않는다고 생각하면 백본은 wirh jquery 1.7.2 이상에서 작동합니다. –

관련 문제