在 Marionette JS 中,如何将另一个模型的字段添加到 table 行中的 td?
In Marionette JS, how can I add a field from another model to a td in a table row?
我使用模型项模板从复合视图创建了一个 table:
<script id="vehicle-table-row" type="text/template">
<td><a href="/vehicles/<%- id %>"><%- id %></a></td>
<td><%- make %></td>
<td><%- model %></td>
<td></td>
</script>
我需要将来自不同模型的字段的值添加到我行中的最后一个单元格中。我还没有找到任何说明如何执行此操作的文档。
如何"combine"将两个模型合并到一个模板中?可能吗?
使用 ItemView,您可以使用 serializeData 进行自定义序列化。
例如:
Marionette.ItemView.extend({
initialize: function(options) {
this.otherModel = options.otherModel;
},
serializeData: function(){
return _.extend({}, this.model.toJSON(), this.otherModel.toJSON());
}
});
这将使您的主 ItemView 模型 (this.model
) 和辅助模型 (this.otherModel
) 属性在模板中可用。如果模型具有相同的属性名称,请小心。
我使用模型项模板从复合视图创建了一个 table:
<script id="vehicle-table-row" type="text/template">
<td><a href="/vehicles/<%- id %>"><%- id %></a></td>
<td><%- make %></td>
<td><%- model %></td>
<td></td>
</script>
我需要将来自不同模型的字段的值添加到我行中的最后一个单元格中。我还没有找到任何说明如何执行此操作的文档。
如何"combine"将两个模型合并到一个模板中?可能吗?
使用 ItemView,您可以使用 serializeData 进行自定义序列化。 例如:
Marionette.ItemView.extend({
initialize: function(options) {
this.otherModel = options.otherModel;
},
serializeData: function(){
return _.extend({}, this.model.toJSON(), this.otherModel.toJSON());
}
});
这将使您的主 ItemView 模型 (this.model
) 和辅助模型 (this.otherModel
) 属性在模板中可用。如果模型具有相同的属性名称,请小心。