Actualización de Ember: ¿cuál es el plan para Mixins, específicamente bufferedProperty?

Estoy trabajando en COMPATIBILITY: move thumbnail selector to Glimmer & new Component modal system by merefield · Pull Request #32 · merefield/discourse-tc-topic-list-previews · GitHub

Estaba usando bufferedProperty en un Modal Controller, pero ahora me he visto obligado a pasar a un Component para admitir la nueva arquitectura de modales de Componentes.

Sin embargo, creo que todavía necesito usar bufferedProperty (estoy actualizando un valor en el Meta del Tema).

Esto, sin embargo, genera un error:

export default class AwesomeModalComponent extends Component.extend(
  bufferedProperty("model")
) {

… y obtengo TypeError: n.default.extend is not a function

He encontrado algunos ejemplos de este patrón, pero solo para Controllers:

Sería bueno saber cuál es el plan aquí en el “TODO”.

3 Me gusta

La respuesta más sencilla a corto plazo es: seguir utilizando un Componente Clásico para tu modal (es decir, no un componente de Glimmer). Los Componentes Clásicos todavía admiten mixins.

Mantenerse con un componente clásico (es decir, la estrategia descrita en Converting modals from legacy controllers to new DModal component API) te dará la actualización 1:1 más limpia del antiguo sistema basado en controladores.

A más largo plazo, necesitaremos encontrar alternativas para algunos de nuestros mixins principales. Pero aún no hemos llegado a ese punto.

4 Me gusta

Solo para hacer seguimiento y agradecer. Usé este enfoque exacto y todo funcionó - moví todo a Glimmer excepto el modal en sí, que necesitaba el Mixin.

Por cierto, bufferedProperty parece hacer mucha magia y no parece seguir ninguna de las reglas estándar relacionadas con la transmisión de cambios.

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.