Red de conocimiento informático - Problemas con los teléfonos móviles - Escuche cambios en valores o forme objetos y rutas en vue

Escuche cambios en valores o forme objetos y rutas en vue

var vm=new Vue({

datos: {

a: 1,

b: {

c: 1 }

},

reloj: {

a(val, oldVal){//plain reloj escuchando console.log( "a: " val, oldVal);

},

b: {/ Oyente profundo, escucha cambios en objetos y matrices handler(val, oldVal){

console.log("b.c : " val.c, oldVal.c); //Pero los dos valores impresos son iguales },

deep: true }

}

}

vm.a=2

vm.b.c=2

a es un valor normal y será monitoreado cuando el valor de a cambios, y b es un objeto que no se puede escribir directamente como a. Debe ser monitoreado profundamente para ser capturado. Sin embargo, cuando quiero capturar el cambio de un determinado valor en el objeto b, encuentro que los dos valores impresos. ​​no son iguales.

De esta manera, solo puede saber que el objeto ha cambiado, pero no sabe qué valor ha cambiado si desea monitorear los cambios de valor. el objeto, puede utilizar el atributo calculado calculado

var vm=new Vue({

datos: {

b: {

c: 1 }

},

ver: {

newValue(val, oldVal){

console.log(" b.c: " val, oldVal);

}

},

calculado: {

newValue() {

devolver this.b.c

}

}

}

})

vm.b.c =2

Usar watch para monitorear el valor calculado Es una buena manera de comprender el valor calculado. Puede saber directamente qué valor correspondiente ha cambiado

watch: { // Escuche los cambios. en el valor pasado por la ruta cuando la página no se recarga y necesita cargarse usando un modelo diferente

$route () {

? .query.sceneName

? window.TTS.addObjectToScene(this.sceneName)

}

?}