@outletArgs ahora están disponibles como argumentos de nivel superior

En la última versión de Discourse, los argumentos de outlet se pueden acceder como argumentos de nivel superior a sus componentes conectores.

En una plantilla, eso significa que @outletArgs.foo se puede reemplazar por @foo. En Glimmer Component JS, this.args.outletArgs.foo se puede reemplazar por this.args.foo.

El argumento @outletArgs antiguo todavía está disponible y no tenemos planes de deprecado. Por lo tanto, no hay prisa por actualizar ningún código existente. En el futuro, podemos introducir una regla de eslint personalizada para detectar y modernizar automáticamente los usos de @outletArgs y this.args.outletArgs.

El inspector de outlets de plugins ya se ha actualizado para mostrar los argumentos de la manera moderna:

Haremos un seguimiento con cambios en la documentación en un futuro próximo.

18 Me gusta

Mucho más consistente :+1:t2:

3 Me gusta

Perdona mi ignorancia, pero ¿dónde accedes a estos argumentos? ¿En un archivo .gjs de conector? ¿O en un renderInOutlet?

Hay dos formas de renderizar un componente conector en un outlet de plugin.

Una es colocar tu componente en /connectors/{nombre-del-outlet}/my-connector.gjs (o una combinación de .js/.hbs). La otra forma es crear tu componente en otro lugar y llamar a api.renderInOutlet("{nombre-del-outlet}", MyConnectorComponent)

En ambos casos, los argumentos del outlet se pasarán a tu componente.