Ich kann nur annehmen, dass dies eine stabile Strategie für die Weitergabe der Modelleigenschaften ist, da sie hier angewendet wird – gibt es irgendwelche Vorbehalte?
Einer der Gründe, warum ich diese verfügbaren Plugin-Outlets als weniger nützlich empfand, war, dass sie oft nicht explizit das relevante Modell übergeben.
Ist dieses Muster irgendwo dokumentiert? Ich habe es in den Ember-Leitfäden nicht gesehen …
Das ‘raw’-System ist spezifisch für Discourse, daher wirst du nichts darüber in den Ember-Guides finden.
Es sieht so aus, als wäre es im Core-Code ziemlich bewusst eingesetzt, daher denke ich, dass es sicher ist, es zu verwenden:
Tatsächlich scheint es, dass Raw-Outlets nicht in der Lage sind, so etwas wie die ‘args’ zu übergeben, die man in regulären Plugin-Outlets findet. Daher ist context der einzige Weg.
Bitte zögere nicht, Core-PRs zu erstellen, wenn du der Meinung bist, dass nützliche Daten in regulären Plugin-Outlets fehlen. Das Hinzufügen neuer Argumente zu Outlets ist relativ sicher, abwärtskompatibel und hat geringe Auswirkungen auf die Leistung, daher ist es unwahrscheinlich, dass wir es ablehnen.
Ich hatte auch Schwierigkeiten, Argumente an Plugin-Outlets zu übergeben. Mein Ziel war es, ein Plugin-Outlet auf einer Seite zu platzieren und dem Outlet Zugriff auf alle Informationen zu geben, die andere Komponenten auf dieser Seite referenzieren.
Ich habe dies in einer Theme-Komponente versucht, die ich gerade programmiere:
raw-plugin-outlet kann nur innerhalb von „rohen“ Vorlagen verwendet werden (die auf .hbr enden). Für reguläre Ember-Vorlagen sollten Sie {{plugin-outlet ...}} verwenden.
EDIT: Mir ist aufgefallen, dass das Folgende wahrscheinlich besser für ein eigenes Thema geeignet ist. Mir ist auch aufgefallen, dass das Hauptproblem, das ich habe, darin besteht, die Aktionen einer Komponente in einen Plugin-Outlet zu importieren. Ich habe hier eine Frage dazu gestellt:
Gibt es eine einfachere/standardmäßigere Methode, Argumente erfolgreich an einen Plugin-Outlet zu übergeben?
Zum Beispiel:
Wenn in einer Vorlage die folgende Referenz auf die Komponente composer-action-title vorhanden ist, wie hier: composer.hbs: