3

Todoリストアプリにコントローラーを追加しようとしています。これがコードです。

$(function(){
alert(Backbone); // => [object]
alert(Backbone.Controller); // => undefined
TodoList.Controllers.Todos = Backbone.Controller.extend({
routes: {
    "documents/:id": "edit",
    "": "index",
    "new": "newDoc"
},

edit: function(id){
    var todo = new Todo({id:id});   
    todo.fetch({
        success:function(model,resp){
            new App.Views.Edit({model:todo});
        },
        error: function(){
            new Error({message: "Couldn't find the todo item."});
            window.location.hash = '#';
        }
    });
},

index: function(){
    window.App = new TodoList.Views.AppView
}

});
});

コメントで述べたように、alert(Backbone)を実行すると、[object]が返されますが、Backbone.Controllerはundefinedを返すため、理由がわかりません。これにより、アプリ全体が機能しなくなります。

4

2 に答える 2

5

バックボーンルーターに置き換えられました:http://backbonetutorials.com/what-is-a-router/

于 2012-06-23T15:34:37.477 に答える
2

どのバックボーンバージョンがありますか?の代わりに
試してください。http://backbonejs.org からの引用:v5.0以降Backbone.RouterBackbone.Controller

わかりやすくするために、コントローラーの名前をルーターに変更しました

その場合はRouter、既存のコードを変更しないように 、の参照コピーを作成できます。

if(Backbone.Router)
    Backbone.controller = Backbone.Router;
于 2012-06-23T15:33:55.387 に答える