Esperado: una vez que presiono el botón, las etiquetas del tema se establecen en my-tag (funciona), lo que activa una nueva renderización del botón y lo deshabilita.
Esperado: una vez que agrego la etiqueta manualmente, el botón se deshabilita.
Realidad: la nueva renderización no se activa en ninguno de los escenarios.
El botón se deshabilita/habilita correctamente al actualizar la página.
Tener una propiedad computada que dependa de topic.tags hará que se invalide cuando el array en sí sea reemplazado. Pero no causará invalidación cuando se agreguen o eliminen elementos del array.
Así que creo que probablemente quieras topic.tags.@each (docs).
En general, estamos tratando de alejarnos de las propiedades computadas y acercarnos a los getters nativos/autotracking. Supongo que tendremos que modernizar la API de topic-footer-buttons en algún momento para soportar eso
¡Muchas gracias por la respuesta tan rápida, David!
Sin embargo, usar topic.tags.@each no lo resuelve… (de cualquier manera, no cuando la etiqueta se añade manualmente, ni cuando se pulsa el botón).
Un console.log en la función disabled() no se ejecuta. Tampoco se ejecuta en displayed().
También probé this.topic.notifyPropertyChange("tags");
e incluso recurrí a la desesperación e intenté manipular otras propiedades (como this.topic.title = this.topic.title + "!" e incluyendo topic.title en dependentKeys). Eso tampoco funciona. Usar this.topic.set... tampoco funciona.