1

每次单击元素时,我都会创建一个主干模型的编辑视图。我遇到的问题是编辑视图需要两个主干集合来创建编辑表单(它包含两个<select>列表)。

风景:

MyApp.elementView = Backbone.View.extend({
    events: {
            'click .edit': 'editForm',
    },
    editForm: function(ev) {

            var editView = new TimeTrack.Views.EditJob({
                model: this.model
                // This view needs two more collections
                // for the <select> elements
            });
            ...
    }
});

实例化视图:

var elementView = new MyApp.elementView({
        collection: elementCollection
});

将所需集合推送到编辑视图的最佳方式是什么?我是否必须从 elementView 实例化传递编辑视图所需的集合?或者有没有更好的方法来做到这一点?

4

1 回答 1

3

我这样做了,传入视图 2 集合,1 - 主要和其他如下:到 elementView - 第二个集合并在 elementView 中接收她。

示例:在路由器中,我是

initialize: ->
  (YourNameSpace).secondCollection = new (YourNameSpace).secondCollection

 elements: =>
    view = new (YourNameSpace).elementView( secondCollection: @secondCollection )
    $('.l-yield').html(view.render().el)
于 2013-02-12T14:11:31.733 回答