@outletArgs sind nun als Top-Level-Argumente verfügbar

In der neuesten Version von Discourse können Outlet-Argumente als Top-Level-Argumente für Ihre Connector-Komponenten aufgerufen werden.

In einer Vorlage bedeutet dies, dass @outletArgs.foo durch @foo ersetzt werden kann. In Glimmer Component JS kann this.args.outletArgs.foo durch this.args.foo ersetzt werden.

Das alte @outletArgs-Argument ist weiterhin verfügbar, und wir haben keine Pläne, es zu verwerfen. Es gibt also keinen Grund, bestehenden Code überstürzt zu aktualisieren. In Zukunft könnten wir eine benutzerdefinierte ESLint-Regel einführen, um die Verwendung von @outletArgs und this.args.outletArgs automatisch zu erkennen und zu modernisieren.

Der Plugin-Outlet-Inspektor wurde bereits aktualisiert, um Argumente auf moderne Weise anzuzeigen:

Wir werden in naher Zukunft Änderungen an der Dokumentation vornehmen.

18 „Gefällt mir“

Viel konsistenter :+1:t2:

3 „Gefällt mir“

Entschuldigen Sie meine Unwissenheit, aber wo greift man auf diese args zu? In einer Connector-.gjs-Datei? Oder in einem renderInOutlet?

Es gibt zwei Möglichkeiten, eine Connector-Komponente in einem Plugin-Outlet zu rendern.

Eine besteht darin, Ihre Komponente in /connectors/{outlet-name}/my-connector.gjs (oder einer .js/.hbs-Kombination) zu platzieren. Die andere Möglichkeit besteht darin, Ihre Komponente woanders zu erstellen und api.renderInOutlet("{outlet-name}", MyConnectorComponent) aufzurufen.

In beiden Fällen werden die Outlet-Argumente an Ihre Komponente weitergegeben.