Backbone - 渲染客户端视图,然后在保存时创建它们

时间:2012-05-17 05:33:29

标签: javascript backbone.js

我完全不知道如何让它发挥作用。我可以创建模型,但之后我无法在它们上运行create或任何东西。我已经在这里待了6个小时......请告诉我哪里出错了:(!

1)创建WorkflowCollection this.workflows = new WorkflowCollection(); workflows.length = 0

2)为每个工作流ID(var workflow = [1,2,3])添加空工作流程:

for(var i =0;i<workflow.length;i++;) { 
       this.workflows.add(new Workflow({fk_workflow_id: workflow[i]})); 
}

3)workflows.length = 3。渲染当前工作流的视图:

var self = this; 
this.workflows.each(function(model) {
       self.renderView(model.get("fk_workflow_id"), model);
});
例如, renderView调用函数:

if(this.kit) this.kit.close();
        this.kit = new Workflow.PostageView({
            model: model
        // posView may change el? check later
        });

4)获取新数据以更新视图的模型。不工作。

this.workflows.fetch({
    success: function () {
        self.workflows.each(function (model) {
            self.renderView(model.get("fk_workflow_id"), model);
        });
    }
});

5。尝试保存模型: FileApp.workflowRouter.pos.create is not a function

为什么它无法访问创建?!完整代码:http://jsfiddle.net/8upZK/

1 个答案:

答案 0 :(得分:0)

唉。 6个小时后,这是因为我应该使用COLLECTION来创建/更新,而不是视图。我不知道为什么选择这个视图(第5步)。

即。 FileApp.workflowRouter.workflows.create()。创建/添加到COLLECTION,而不是视图。 Fuubar。