2013-04-30 9 views
6

初心者向けのチュートリアルのbackbone.jsをフォローしています。最初のハードルに悩まされています。 Firebug(Firefox 20.0.1)にエラーTypeError: a.apply is not a functionがあります。彼らはチュートリアルで使用するバージョンですので、私はjqueryのアンダースコアバックボーンのこれらの古いバージョンを使用していますTypeError:a.applyは関数ではありません

<!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> 

: は、私は、次のコードを持っています。私はすべての現在のバージョンを使ってみましたが、同様のエラーが出ます: "TypeError:私は .applyは関数ではありません"。

ルータのインスタンスが作成されるとエラーが発生します。つまり、上記の行:var router = new Router();です。

セットアップにはエラーがありますか? WAMP、またはコード、またはライブラリ?私はそれがtutorialの手紙と同じであるので、それを理解できません。

+3

"new"を2回呼び出しています。 – StuR

+0

thx StuR。学童エラー。ここにはまだ答えがないのは不思議ではありません! :$ – dewd

答えて

17

変更

var Router = new Backbone.Router.extend({ 

var Router = Backbone.Router.extend({ 

にあなたがそれらのクラスを拡張しているとき、あなただけが後にnewを呼び出しますコンストラクタ関数を返しますされ、extendを起動する必要があります。

+0

あなたは絶対的なナッツです。そのような派閥の誤り。見るためにそれを見ることができませんでした。残念ながら、私はあなたに少なくとも15のrepポイントが必要なので、私はあなたをアップウォートできません。 :$ – dewd

+0

ええ、これも前に私に一度噛まれました。 :) –

+2

私はちょうど15ポイント以上行ったので、+1 :) – dewd

関連する問題