Was ist der Unterschied zwischen einem Marionetten-Layout und einer Region?
Marionette besteht aus zwei Komponenten namens Regionen und Layouts. Auf den ersten Blick scheinen Sie ähnliche Funktionalität bieten: Eine Position auf der Seite, für meine Anwendung zu platzieren, Untersichten, plus einige zusätzliche Veranstaltung verbindlich fairy dust.
Sieht unter der Haubees ist ziemlich klar, dass jede Komponente implementiert ist, in ein sehr verschiedenen Weg, aber ich bin mir nicht sicher, Wann und warum würde ich wollen, verwenden Sie einen über den anderen. Was use cases sind die einzelnen Komponente gedacht?
InformationsquelleAutor der Frage Brant Bobby | 2012-05-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Layouts und Regionen dienen sehr unterschiedlichen Zwecken: ein layout ist eine Art von Blick, aber eine region, zeigt ein Blick in Ihre HTML - /DOM für Sie. Eine region kann verwendet werden, um ein layout anzuzeigen. Und ein layout auch Regionen enthalten. Dies erzeugt eine geschachtelte Hierarchie, erweitern zu können, unendlich.
Region
Einer Region, verwaltet den Inhalt, der angezeigt wird, innerhalb einer HTML-element auf Ihrer web-Seite. Dies ist oft ein div oder anderen "container" - element. Sie bieten ein jquery-selector für die region zu verwalten, und dann muss man sagen, die region zu zeigen Backbone-verschiedenen Ansichten in dieser region.
Einer region, dann wird nicht direkt berechnet und nicht über einen eigenen DOM-Interaktionen oder zu aktualisieren. Es ist rein für den Zweck der Darstellung eine Ansicht auf einen bestimmten Punkt, in den DOM, so dass verschiedene Ansichten ausgetauscht werden, in und out, ganz einfach.
Lesen Sie mehr über die Regionen, hier: http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/
Layout
Einem Layout ist eine spezielle Art von view. Es erstreckt sich von
Marionette.ItemView
direkt, was bedeutet, es ist bestimmt so Rendern Sie ein einzelnes template und kann oder kann nicht ein Modell (oder "Element") im Zusammenhang mit dieser Vorlage.Den Unterschied zwischen einem Layout und einer ItemView ist, dass ein Layout enthält Regionen. Wenn Sie ein Layout zu definieren, geben Sie es ein template aber Sie auch Regionen angeben, die die Schablone enthält. Nach der Darstellung des Layouts können Sie die Darstellung anderer Ansichten innerhalb der layout über die Regionen definiert wurden.
Regionen Und Layouts Zusammen
Kann man bereits sehen, dass Layouts und Regionen verbunden sind, obwohl Sie getrennte Funktionen. Aber eine Layout-und eine Region, die zusammen verwendet werden können zum erstellen von sub-layouts und verschachtelten Hierarchie von layouts, Regionen und Ansichten.
Schachteln Sie eine beliebige Anzahl von layouts und Regionen zusammen, mit beliebiger Anzahl von Ansichten, die mit jeder Ansicht Typ, der sich von Rückgrat.Ansicht (und nicht nur Marionette Ansichten).
InformationsquelleAutor der Antwort Derick Bailey
Einer Region dient als container für Ansichten (dass Sie sind gezeigt im inneren), während ein Layout dient als eine übergeordnete Sicht für die Verschachtelung untergeordneten Ansichten drin.
Da ein Layout ist eine ItemView selbst, ist es angezeigt, innerhalb einer Region. Ein Layout enthält auch Regionen zeigen Ihre untergeordneten Ansichten. Wenn das Kind die Ansichten in einem Layout-Regionen sind die Layouts selbst, können Sie das Kind Blick auf Ihre eigenen. Also, Layouts, lassen Sie nest Ansichten in einer Baumstruktur.
InformationsquelleAutor der Antwort tldr