2016-05-13 15 views
1

Basierend auf dieser fact, Region in Anwendung ist veraltet. Wie renderst du das Root-Layout? Einfach neu Die RootLayout() wird die Layoutansicht nicht rendern. Ich weiß Call-Bereich show() Funktion wird Layout rendern, aber da keine Region auf Application-Objekt ist. Wie renderst du das Root-Layout?Wie man das Wurzel-Layout in Marionettejs rendert?

Das Dokument schlägt den folgenden Weg vor, aber es funktioniert nicht.

I definiert root Layout wie folgt aus:

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

dann das Wurzel Layout wie folgt wiedergeben:

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

}); 

Antwort

2

Es könnte so einfach wie

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

oder

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

oder, wie in Ihrem Fall sein

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

definieren die Regionen innerhalb des LayoutView und dann zeigen gewünschten Ansichten

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

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

finden Sie weitere Informationen hier http://marionettejs.com/docs/marionette.layoutview.html#basic-usage

0

Es könnte eine alte Frage, aber ich war in der Lage zu lösen das Problem so:

var App = new Marionette.Application(); 

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

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

App.start(); 
Verwandte Themen