Modificación del atributo style dinámicamente en el ítem de lista de temas

modifyClass en sí mismo no está obsoleto. Es un método de personalización arriesgado y debes tomar precauciones al usarlo (como se describe en la documentación que @don enlazó), pero no tenemos planes inminentes para eliminarlo.

La razón por la que imprimimos un mensaje de obsolescencia para component:topic-list y component:topic-list-items es que esos componentes son la implementación heredada de la lista de temas y no se utilizan cuando la lista de temas de Glimmer está habilitada. Ahora, tenemos un conjunto de componentes de Glimmer como components/topic-list/item.

Por lo tanto, técnicamente, podrías usar modifyClass en esos nuevos componentes. Pero, debido a que son componentes de Glimmer, no podrás modificar la etiqueta de estilo a través de la clase JS, por lo que no ayudará con el problema en el OP.

Tenemos un modo similar de ‘mampostería’ en el componente temático oficial d-topic-thumbnails, por lo que vale la pena ver cómo se implementa. Agregamos una clase única a cada ‘fila’ de la lista de temas:

Luego, renderizamos una etiqueta <style> dinámica en un plugin-outlet separado, que apunta a esos nombres de clase:

Dicho esto… es un poco complicado, así que tal vez deberíamos considerar agregar un valueTransformer específico para permitir cambiar el atributo style=. Es un poco complicado debido a las protecciones xss/htmlSafe de Ember en ese atributo… pero estoy seguro de que podríamos hacer que algo funcione.

3 Me gusta