1

Backbone.jsのモデルとビューを別々のファイルに保存しました。モデルとコレクションは次のようになります

$(function(){

    TodoList.Models.Todo = Backbone.Model.extend({
        url: function (){
                return this.id? '/todos/' + this.id : '/todos/' ;
                },
        initialize: function () {
                }
    });

    TodoList.Collections.Todos = Backbone.Collection.extend({
        model: TodoList.Models.Todo,
        url: "/todos"
});

});

ビューコードは次のとおりです。

$(function(){
    Todos = TodoList.Collections.Todos;
    TodoList.Views.AppView = Backbone.View.extend({
    el: $("#todo_app"),
    events: {
        "submit form#new_todo": "createTodo"
    },
    initialize: function(){
        _.bindAll(this, 'addOne', 'addAll');
        Todos.bind("add", this.addOne);
        Todos.bind("refresh", this.addAll);
        Todos.bind("all", this.render);
        Todos.fetch();
    },
        .
        .
        .
});

javascriptは現在実行されません。fetch()関数が未定義であると表示されます。何か案は?

4

1 に答える 1

3

Todosコレクションの新しいインスタンスを作成する必要があります。

Todos = new TodoList.Collections.Todos();
于 2012-06-21T10:43:42.267 に答える