【问题标题】:Why is .fetch() undefined for Collections?为什么 .fetch() 未为 Collections 定义?
【发布时间】:2012-06-23 13:56:48
【问题描述】:

我的 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() 函数未定义。有什么想法吗?

【问题讨论】:

    标签: javascript backbone.js


    【解决方案1】:

    您应该创建一个 Todos 集合的新实例:

    Todos = new TodoList.Collections.Todos();
    

    【讨论】:

    猜你喜欢
    • 2021-05-12
    • 1970-01-01
    • 2020-05-12
    • 2021-07-22
    • 2021-07-18
    • 2012-06-21
    • 2022-01-05
    • 2017-10-10
    • 2021-01-17
    相关资源
    最近更新 更多