2016-05-13 2 views
1

En fonction de ce fact, la région dans l'application est obsolète. Comment restituez-vous la disposition racine? Simplement nouveau, le RootLayout() ne rendra pas la vue de mise en page. Je sais que la fonction show region() de la région affichera la disposition, mais puisqu'il n'y a pas de région sur l'objet Application. Comment restituez-vous la disposition racine?Comment rendre la disposition des racines dans Marionettejs?

Le document suggère la méthode suivante, mais cela ne fonctionne pas.

I définit la mise en page des racines comme ceci:

var RootView = Marionette.LayoutView.extend({ 
    el: 'body' 
}); 

render Ensuite, la mise en page des racines comme ceci:

var canvasApp = new Marionette.Application(); 
canvasApp.on('start', function() { 
    canvasApp.rootView = new RootLayout(); 
} 
$(document).ready(function(){ 
    canvasApp.start(); 

}); 

Répondre

2

Il pourrait être aussi simple que

var RootView = Marionette.LayoutView.extend(); 
var rootView = new RootView(); 
rootView.render().$el.appendTo(document.body); // or a selector 

ou

var RootView = Marionette.LayoutView.extend(); 
var rootView = new RootView({ el: '#app' }); 
rootView.render(); 

ou, comme dans votre cas

var RootView = Marionette.LayoutView.extend({ 
    el: 'body' 
}); 
var rootView = new RootView(); 
rootView.render(); // just remember to render it 
0

définissent les régions à l'intérieur du LayoutView et montrent des vues souhaitées

var RootView = Marionette.LayoutView.extend({ 
    el: 'body, 
    regions: { 
    menu: "#menu", 
    content: "#content" 
    } 
}); 

RootView.getRegion('menu').show(new MenuView()); 
RootView.getRegion('content').show(new ContentView()); 

vous pouvez trouver plus d'informations ici http://marionettejs.com/docs/marionette.layoutview.html#basic-usage

0

Il pourrait être une vieille question, mais j'ai pu résoudre le problème est le suivant:

var App = new Marionette.Application(); 

App.addRegions({ 
    mainRegion: '#app' 
}); 

App.mainRegion.show(new RootView()); 

App.start();