@outletArgs sono ora disponibili come argomenti di primo livello

Nell’ultima versione di Discourse, gli argomenti degli outlet possono essere accessibili come argomenti di primo livello ai tuoi componenti connettori.

In un template, ciò significa che @outletArgs.foo può essere sostituito con @foo. In Glimmer Component JS, this.args.outletArgs.foo può essere sostituito con this.args.foo.

Il vecchio argomento @outletArgs è ancora disponibile e non abbiamo in programma di deprecabile. Quindi non c’è fretta di aggiornare alcun codice esistente. In futuro potremmo introdurre una regola eslint personalizzata per rilevare e modernizzare automaticamente gli usi di @outletArgs e this.args.outletArgs.

L’ispettore degli outlet dei plugin è già stato aggiornato per visualizzare gli argomenti nel modo moderno:

Seguiremo con modifiche alla documentazione nel prossimo futuro.

18 Mi Piace

Molto più coerente :+1:t2:

3 Mi Piace

Scusa la mia ignoranza, ma dove si accede a questi args? In un file .gjs del connettore? O in un renderInOutlet?

Ci sono due modi per renderizzare un componente connettore in un outlet di plugin.

Uno è posizionare il tuo componente in /connectors/{nome-outlet}/my-connector.gjs (o una combinazione .js/.hbs). L’altro modo è creare il tuo componente altrove e chiamare api.renderInOutlet(\"{nome-outlet}\", MyConnectorComponent)

In entrambi i casi, gli argomenti dell’outlet verranno passati al tuo componente.