hawm
(Hawm)
6 Febbraio 2022, 9:50am
1
Discourse sembra già aggiornato a Ember Octane ma non supporta ancora alcune nuove funzionalità.
So che la migrazione dei componenti esistenti in Discourse è un lavoro potenzialmente enorme, ma ci piacerebbe utilizzare queste nuove funzionalità nel nostro nuovo plugin, quindi sarebbe possibile prima di completare l’intera migrazione?
Per ora, il mio componente che estende @glimmer/component otterrà un errore “Assertion Failed”:
Glimmer Components - Octane Upgrade Guide - Ember Guides
Benefici dei Glimmer Components
I Glimmer components hanno enormi benefici:
Questi nuovi componenti ti offrono tutti i benefici descritti nelle Classi Native sopra
Non estendono affatto da EmberObject, il che significa che non necessitano di API EmberObject, come reopenClass, extend. Puoi usare tranquillamente constructor per tutto il codice di setup.
Gli hook del ciclo di vita sono notevolmente semplificati e più facili da usare
Non hanno quell’elemento HTML di wrapping che intralciava lo styling CSS e il layout
Gli argomenti sono anche raggruppati in namespace su this.args all’interno dei Glimmer components, che è un oggetto immutabile. Questo significa che:
È chiaro quando stai accedendo agli argomenti passati al componente e quando stai accedendo ai campi e alle proprietà del componente stesso.
Gli argomenti si riferiscono sempre al valore originale che è stato passato, quindi non devi rintracciare codice confuso negli hook o nelle definizioni delle proprietà calcolate che modificano il valore dell’argomento.
Non c’è una confusa data binding bidirezionale per gli argomenti tramite la classe del componente, i dati possono fluire solo in una direzione.
4 Mi Piace
Falco
(Falco)
6 Febbraio 2022, 1:38pm
2
Ci stiamo lavorando e Discourse inizierà a utilizzare i componenti Glimmer nei prossimi mesi.
12 Mi Piace