Sto provando a utilizzare due modelli in una vista e il modello che utilizza entrambi. Sto lavorando con Marionette. Qui sono io l'inizializzazione della vista:Modelli di due modelli in una vista: Backbone/Marionette
main_app_layout.header.show(new APP.Views.HeaderView({
model: oneModel,
model2 : twoModel}
));
Qui è la mia opinione:
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);
}
});
E qui è il modello:
<script id="view_template" type="text/template">
<p>{{twoModel_label}} {{oneModel_data}}</p>
<p>{{twoModel_label2}} {{oneModel_data2}}</p>
</script>
rende tutto correttamente utilizzando i dati oneModel, ma non esegue il rendering del secondo, anche se lo registra correttamente. Sto usando i baffi come linguaggio dei miei modelli.
Qualcuno può aiutare?
Questo è fantastico - grazie per aver risposto a Derick! (Adoro Marionette, comunque!). Tuttavia, continuo ad avere l'errore che model2 non è definito (in particolare, non è possibile chiamare il metodo 'toJSON' di undefined) - esiste un modo specifico per passare il secondo modello in modo diverso dal mio modo originale? – streetlight
Ho risolto questo problema cambiando model2 in this.options.model2! Grazie ancora! – streetlight
oops! giusto ... this.options.model2 :) –