2013-04-30 43 views
6

Yeni başlayanlar için bir backbone.js'yi takip ediyorum ve ilk engelde sıkışmış durumdayım. Firebug'de (Firefox 20.0.1) TypeError: a.apply is not a function hatasını aldım. Onlar eğitimde kullanılan versiyonları vardır çünkü jquery bu eski sürümlerini kullanıyorumTypeError: a.apply bir işlev değil

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<title>Backbone Test</title> 
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.1.1/css/bootstrap.min.css" /> 
<meta charset="utf-8" /> 
</head> 
<body> 

    <div class="container"> 
     <h1>User Manager</h1> 
     <hr /> 
     <div class="page"></div> 
    </div> 

    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script> 
    <script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.2/underscore-min.js" type="text/javascript"></script> 
    <script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js" type="text/javascript"></script> 
    <script> 
     var Router = new Backbone.Router.extend({ 
      routes: { 
       '': 'home' 
      }  
     }); 

     var router = new Router(); 

    </script> 

</body> 
</html> 

, ve omurgasını altını: Aşağıdaki kod var. Geçerli sürümlerini kullanmaya çalıştım ve benzer bir hata alıyorum: "TypeError: i .apply bir işlev değil".

Bir Yönlendirici örneği oluşturulduğunda, yani yukarıdaki satır: var router = new Router();, hata oluşur.

Hata, kurulumumla ilgili mi? WAMP veya kod veya kütüphaneler? Bunu, tutorial olarak gönderilen harfle aynı şekilde anlayamıyorum.

+3

İki kez "yeni" diyorsunuz. – StuR

+0

thx StuR. öğrenci hatası. şaşkınlık yok zaten burada bir cevap yoktu! : $ – dewd

cevap

17

Değişim

var Router = new Backbone.Router.extend({ 

o sınıfları uzanan bittiğinde

var Router = Backbone.Router.extend({ 

için yalnızca daha sonra new arayacağım yapıcı işlev döndürecek extend, çağırmak gerekir.

+0

Sizler mutlak fındıklarsınız. Böyle bir okul çocuğu hatası. Bakmak için göremedim. Ne yazık ki, size en fazla 15 puan vermem gerektiğinden dolayı size cevap veremem. : $ – dewd

+0

Evet, bu da beni bir kez daha ısırdı. :) –

+2

Az önce 15 puan aştım, bu yüzden +1 :) – dewd

İlgili konular