1

このコードの最初の行でエラーが発生していますplzhelpme 未定義のメソッド'extend'を呼び出せません

$(document).ready(function() {
  var Router = Backbone.Router.extend({
    routes: {
      "foo/:bar": "paramtest",
      "*action": "func"
    },
    func: function(action) {
      alert(action);
    },
    paramtest: function(p) {
      alert(p);
    }
});
new Router();
Backbone.history.start();
});
4

3 に答える 3

4

HTMLファイルでは、バックボーンjsファイルの前にアンダースコアjsファイルを宣言してください。

于 2013-02-22T01:42:46.767 に答える
2

0.5.0より前の古いバージョンのBackboneを使用していると思います。Backbone.Router以前は呼び出されBackbone.Controllerていましたが、0.5.0の一部として名前が変更されました

0.5.02011年7月1日

[...]わかりやすくするために、Controllerに名前が変更されました。Router

「バックボーンチュートリアル」の2番目のGoogleヒットは、 0.3.3を使用するこのチュートリアルを示しています。最近、0.3.3を使用してBackboneについて質問する人が多いようですので、Googleの結果がおそらく問題です。

バックボーンの最新バージョン(0.9.2)にアップグレードする必要があります。これは、バックボーンのWebサイトから入手できます。おそらく、最新バージョンのアンダースコア(1.4.2)も使用しているはずです。これは、アンダースコアのWebサイトで入手できます。

于 2012-11-01T05:17:57.990 に答える
0

Router何らかの理由で、Backboneオブジェクトにはプロパティがありません。どこかで上書きしていますか?

于 2012-11-01T04:49:10.723 に答える