Pregunta

Tengo problemas con las vinculaciones de nombres de clases.Aquí está el código jsfiddle para el mismo.Registrar el número de veces que se llama al enlace.Nunca se llama cuando se cambia la propiedad.

¿Fue útil?

Solución

Parece que tiene un par de problemas aquí. Principalmente, si desea que se vuelvan a calcular las propiedades cuando cambia el contenido de una matriz, no puede depender solo de la propiedad de la matriz en sí; solo activará un cambio cuando se establezca en una matriz diferente. Si, en cambio, depende de myArray.@each, su propiedad se volverá a calcular cuando el contenido cambie también.

A continuación, su plantilla que contiene el intervalo no se procesa porque está proporcionando una plantilla de vista vacía en la declaración de vista de su manillar. Cambie su "HTML" a:

{{view App.contact}}

y aparecerá su intervalo.

Finalmente, ejecutar Ember.run.sync() no parece ser suficiente aquí. No tengo tan claro el motivo detrás de esto, pero ... las propiedades calculadas solo se actualizan cuando se leen (en comparación con los observadores que se actualizan de inmediato). Supongo que, dado que su propiedad calculada solo es utilizada por la vista y la vista solo puede actualizarse en una ejecución posterior a través del bucle de eventos JS, su propiedad calculada se vuelve a calcular solo una vez para todos sus cambios a "subordinados". Cambie su código para usar tiempos de espera y funcionará bien.

Aquí hay un jsfiddle con todos mis cambios propuestos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top