模板两款车型在一个视图 - 骨干/木偶(Template two models in one vie

2019-08-18 03:04发布

我想在一个视图中使用两种模式,并同时使用两者的模板。 我与木偶工作。 这是我认为的初始化:

main_app_layout.header.show(new APP.Views.HeaderView({
 model: oneModel,
 model2 : twoModel}
));

这是我的看法:

APP.Views.HeaderView = Backbone.Marionette.ItemView.extend({

    template : '#view_template',

    className: 'container',


    initialize: function() {
               //This correctly logs the second model
                console.log(this.options.model2);

    }

});

这里是模板:

 <script id="view_template" type="text/template">
        <p>{{twoModel_label}} {{oneModel_data}}</p>
        <p>{{twoModel_label2}} {{oneModel_data2}}</p>
    </script>

它使得一切正确使用oneModel数据,但不会呈现第二,即使正确地记录它。 我使用的胡子作为我的模板语言。

任何人都可以帮忙吗?

Answer 1:

您可以覆盖serializeData你的观点和方法有它返回两个模型的数据:


APP.Views.HeaderView = Backbone.Marionette.ItemView.extend({

  // ...

  serializeData: function(){
    return {
      model1: this.model.toJSON(),
      model2: this.options.model2.toJSON()
    };
  }

});

然后你的模板应该是这样的:

<script id="view_template" type="text/template">
    <p>{{model1.label}} {{model1.data}}</p>
    <p>{{model2.label}} {{model2.data}}</p>
</script>


Answer 2:

尝试创建一个包含两个模型的复杂模型,这款新车型将有两个其他的属性和这样的回答解释了acccess每个人的属性..

访问嵌套的骨干型号从胡须模板的属性



文章来源: Template two models in one view - Backbone/Marionette