En primer lugar, el monitor array
1.watch puede escuchar a empujar los cambios en la matriz, por ejemplo,
datos () { retorno { demo: [ 1,2 ] } },
montado () {
window.myVue = Este
},
ver: { demostración (val) { console.log (val) } }, myVue.demo.push (3) // [1,2,3]
array 2.watch no puede detectar los cambios siguientes:
-
- Al configurar un índice de clave para su utilización directa, por ejemplo: myVue.demo [1] = 5
- Cuando se modifica la longitud de la matriz, por ejemplo: myVue.demo.length = 2
Este tiempo se puede eliminar la clave original y $set
uno nuevo, por lo que puede desencadenar reloj
myVue. $ conjunto (myVue.demo, 0,8) // [8,2,3]
3. más complicado, que desea escuchar a una serie de objetos anidados cuando, a continuación, es necesario escuchar la profundidad
Los datos () { retorno { Demostración: [ { nombre: 'John Doe' , Edad: 18 es },
{ nombre: 'John Doe' , Edad: 20 es } ] } }, Montada () { window.myVue = el presente }, reloj : { demo: { Handler (Val) { el console.log (Val) }, // esta es la clave, en nombre del oyente cambia la demo recursiva profunda: true } }, MyVue.Demo [ 0] .age = 30 // [{name: 'Zhang tres', edad: 30}, { nombre: ' Li cuatro', edad: 20}]
En segundo lugar, los objetos del monitor
1 puede ser similar al punto 3 de matrices anterior
2. Puede supervisar el valor del objeto directo
datos () { retorno { demo: { nombre: '张三' , hijo: { nombre: '李四' , edad: 20 } } } }, montada () { window.myVue = esta }, reloj: { 'demostración .child' : { manejador: función (val) { console.log (val) }, profunda: la verdadera },
//或者
'Demo.name' (val) {
console.log (val)
}
}, MyVue.Demo.Name = 'Rey dos' // Rey dos
. MyVue.Demo edad = '80' // {nombre: 'Li cuatro', edad: 80}
Hay otras maneras buenas para corregir mi mensaje de bienvenida