我有一些外部来源的属性名称,如
var columnDetails = {
firstname : "firstname",
lastName : "lastName",
place : "place",
taluk : "taluk",
state : "state",
country : "country"
};
当我从服务器执行fetch()
时,我会收到集合[模型集合],现在我必须将model
中的每个collection
与{{1}进行比较并显示/绑定columnDetails
中存在的属性。
根据我的理解,如果我们尝试绑定模型,它将仅绑定我们在模型中具有相同名称的属性。
请澄清这一点。
最好的问候
答案 0 :(得分: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
}
});
以下是一些相关链接: