En este código:
.then((movementItem) => { if (!movementItem?.id) { this.$router.back(); } this.movement = { ...movementItem, accountName }; if (this.movement.comment) { this.hasComment = true; } else { this.movement.comment = { comment: '', commentId: '', }; } this.$watch('movement.comment.comment', function(newVal, oldVal) { console.log(newVal); console.log(oldVal); }); })Si el "movimiento" tiene un comentario, el observador funciona como espero, pero si el "movimiento" no tiene un comentario, entonces agrego un comentario vacío pero el observador no funciona en ese caso, lo he intentado mucho. de cosas (Configure el observador en la instancia de Vue, con propiedades calculadas, etc.) pero no puedo entender cómo hacer que este código funcione.
También traté de establecer una Cadena de ejemplo en el comentario en lugar de una Cadena vacía, pero no tuve éxito...
Obviamente, tengo un campo de entrada donde puedo cambiar mi comentario vinculado con v-model a "movement.comment.comment"
¿Alguien puede explicar por qué?
Incluí una imagen en caso de que quieras ver el código con paréntesis.
EDITAR:
Resulta que no puedo agregar una propiedad reactiva a un objeto de datos en Vue que se ha instanciado antes. La reactividad es imprescindible para que un reloj funcione correctamente, así que...
https://vuejs.org/v2/guide/reactive.html#For-Objects
Solo necesito usar algo como:
this.$set(this.someDataObject, 'newProperty', 'initial value')Con esto acabas de agregar la propiedad 'nuevaPropiedad' al objeto en datos.