0

我有一些来自外部来源的属性名称,例如,

var columnDetails = {
        firstname : "firstname",
        lastName : "lastName",
        place : "place",
        taluk : "taluk",
        state : "state",
        country : "country"
    };

当我fetch()从服务器执行时,我得到了集合[模型集合],现在我必须将其中的每个与 进行比较modelcollectioncolumnDetails显示/绑定columnDetails.

根据我的理解进行澄清 ,如果我们尝试绑定模型,它将仅绑定我们在模型中具有相同名称的属性。

也请澄清这一点。

此致

4

1 回答 1

1

您需要将 传递columnDetails给您的集合视图的项目视图,然后在您的模板中迭代它们:

var my_template_html = "<% _.each(attributeNames, function(attributeName) { %> <li><%= model[attributeName] %></li> <% }); %>"
MyItemView = Backbone.Marionette.ItemView({
    template:function(serialized_model) {
        return _.template(my_template_html, {
            model : serialized_model,
            attributeNames : options.attributeNames
        });
    }
});

var columnDetails = {
    firstname : "firstname",
    lastName : "lastName",
    place : "place",
    taluk : "taluk",
    state : "state",
    country : "country"
};

MyCollectionView = Backbone.Marionette.CollectionView({
  itemView: MyItemView, 
  itemViewOptions: {
    attributeNames: columnDetails
  } 
});

以下是一些相关链接:

于 2013-07-16T13:31:37.553 回答