Backbone Marionette Verschachtelte Composite-Ansicht

8

Ich bin also festgefahren. Ich habe die große Backbone.Marionette, um meine verschachtelten Childs / Eltern Beziehungen und Rendering zu behandeln (mit dem nackten Rücken war ein Albtraum), aber jetzt habe ich Probleme mit meiner verschachtelten zusammengesetzten Ansicht,

Ich bekomme immer ein Die angegebene itemViewContainer wurde nicht gefunden: .tab-content von der übergeordneten zusammengesetzten Ansicht - CategoryCollectionView, obwohl der itemViewContainer auf der Vorlage verfügbar ist, hier ist was ich Ich versuche zu tun, ich habe ein Restaurant-Menü, das ich präsentieren muss, also habe ich mehrere Kategorien und in jeder Kategorie habe ich mehrere Menüpunkte, so dass meine endgültige HTML wäre wie folgt:

%Vor%

Hier ist was ich bisher habe:

Zuerst die Vorlagen

Vorlage-Skelett

%Vor%

Vorlagen-Menü-Kern

%Vor%

Vorlagenkategorie

%Vor%

Vorlage-Menü-Element

%Vor%

Jetzt das Skript

%Vor%

Ich weiß, es ist ein bisschen schwer zu folgen, aber ihr seid meine letzte Zuflucht. Es gibt keine Probleme mit den Templates und dem Catogry-Abruf und den anderen Sachen (es funktionierte bereits, bevor das CategoryCollectionView von einer Marionette-Sammlung in eine zusammengesetzte Ansicht umgewandelt wurde.)

Bearbeiten 1

App-Initializer auf Anfrage hinzugefügt:

%Vor%     
Yehia A.Salam 26.04.2013, 11:32
quelle

2 Antworten

6

Sie fügen die Sammlung per Abruf hinzu, bevor Sie die Show in der Region aufrufen.

Marionette.CompositeView ist standardmäßig verkabelt, um ItemViews anzuhängen, wenn Modelle seiner Sammlung hinzugefügt werden. Dies ist ein Problem, da der itemViewContainer .tab-content nicht zu dom hinzugefügt wurde, da show für die Region nicht aufgerufen wurde.

Einfach zu reparieren, überarbeiten Sie den Code wie unten und es sollte funktionieren, ohne appendHtml zu überladen.

%Vor%     
Scott Puleo 26.04.2013, 16:57
quelle
0

okay, das ist ziemlich seltsam, aber das in der CategoryCollectionView Klasse hinzufügen:

%Vor%

hat das Problem gelöst, aber ich habe keine Ahnung, wieso es funktioniert. Die Zuweisung von ".tab-content" zum itemViewContainer sollte ausreichen, eine Idee?

    
Yehia A.Salam 26.04.2013 12:19
quelle

Tags und Links