9

初心者向けの backbone.js チュートリアルに従っていますが、最初のハードルで行き詰まりました。TypeError: a.apply is not a functionfirebug (Firefox 20.0.1) でエラーが発生します。次のコードがあります。

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

これらはチュートリアルで使用されているバージョンであるため、これらの古いバージョンのjqueryアンダースコア、およびバックボーンを使用しています。すべての現在のバージョンを使用してみましたが、同様のエラーが表示されます:「TypeError: i .apply は関数ではありません」。

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

エラーは私のセットアップに関係していますか? WAMP、またはコード、またはライブラリ? 文字まではチュートリアルと同じでよくわかりません。

4

1 に答える 1

22

変化する

    var Router = new Backbone.Router.extend({

    var Router = Backbone.Router.extend({

これらのクラスを拡張するときは、 を呼び出すだけで済みますextend。これにより、後で呼び出すコンストラクター関数が返されますnew

于 2013-04-30T13:09:06.037 に答える