Yo conocí el handler()
y el deep
gracias a una chapuza que estaba haciendo con Vue xD
.
Un watcher, como su nombre lo indica, va a estar observando por cambios dentro de la variable (u objeto) que le pasemos, es decir, en cuanto este cambie, automáticamente se va a ejecutar el código que pongamos dentro y podemos modificar el estado de nuestra aplicación.
El handler()
y el deep
son básicamente otra forma de definir watchers en Vue, pero pasándole más opciones, ese deep
indica que no importa qué tan profundo sea un cambio, el handler se va a disparar (el handler es toda la lógica de nuestro watcher). Por ejemplo:
const algo = [
[
{
algoProfundo: {
algoMasProfundo: 1
}
}
]
]
En esta variable, vemos que tenemos una propiedad llamada algoMasProfundo
que está dentro de un objeto que está dentro de otro objeto que está dentro de un arreglo que está dentro de otro arreglo, a eso se le llama “profundidad”, por lo que si definimos el deep
en el watcher, si llega a cambiar ese algoMasProfundo
en algún momento, Vue se dará cuenta y reaccionará a ese cambio mediante el handler()
, eso es lo increíble de Vue:D
.
Dejo el código de esta clase:
.
https://github.com/RetaxMaster/vue3-platzi-commerce/tree/433aaa90b3c963bbd4299b3efb56d0df05a6ec78
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?