在Marionette JS中,如何将另一个模型中的字段添加到表格行中的td?

时间:2015-10-25 21:54:47

标签: backbone.js marionette

我使用模型项模板从复合视图创建了一个表:

<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>

我需要将来自不同模型的字段值添加到我行中的最后一个单元格中。我还没找到任何说明如何操作的文档。

我怎样才能&#34;结合&#34;两个模型合并为一个模板?有可能吗?

1 个答案:

答案 0 :(得分:1)

使用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)属性在模板中可用。如果模型具有相同的属性名称,请务必小心。