Stavo leggendo la documentazione dell'ultima versione (2.3.0) e sto dicendo che le regioni di applicazione ora sono deprecate.MarionetteJS: aree di applicazione e layout
Regioni applicazione
Attenzione: deprecati Questa funzione è deprecato. Invece di utilizzare l'applicazione come radice dell'albero delle viste, è necessario utilizzare una vista Layout . Per adattare la vista Layout all'intero documento, è possibile impostare suo 'el' 'corpo'. Questo potrebbe essere simile al seguente: var RootView = Marionette.LayoutView.extend ({el: 'body'});
Nella maggior parte dei tutorial, incluso il libro di David Sulc Backbone Marionette: A Gentle Introduzione utilizza il seguente frammento di codice per aggiungere regioni a un'applicazione.
Invece del seguente esempio seguente, che utilizza addRegions, cosa dovrei fare invece?
cioè
var ContactManager = new Marionette.Application({});
ContactManager.addRegions({
mainRegion: "#main-region"
});
var ContactView = Marionette.ItemView.extend({
template: "#whatever",
ui: {
button: ".button".
},
events: {
"click @ui.button": "click",
},
click: function() {
console.log("do stuff here...");
}
});
ContactManager.on("start", function() {
var contactView = new ContactView({
model: someModel
});
ContactManager.mainRegion.show(contactView);
});
È possibile eseguire il rendering della vista di layout prima che venga chiamato app.start() o debba essere chiamato all'interno del gestore onStart? – Abe
Il rendering di una vista di layout è sincrono, quindi è necessario assicurarsi che il layout sia sottoposto a rendering prima di voler mostrare le viste nelle sue regioni. Oltre a questo, puoi farlo quando preferisci. Si noti inoltre che è possibile definire le regioni in base agli elementi già presenti nel DOM, se si desidera creare regioni per mostrare le viste al volo. – Trace
In realtà, come sai collegare la visualizzazione renderizzata al DOM? Diciamo che ho un modello con gli elementi #menu e #content, ma in che modo collego questa vista di layout renderizzata all'html? – Abe