実例詳しくはvue.jsの浅さのモニターと深さのモニターとwatchの使い方を説明します。
最初の浅い傍受:
オブジェクトに対応して、キーは観察式で、値は反転に対応します。値は、メソッド名またはオブジェクトであってもよいし、オプションが含まれています。実装時には、キーごとに$watch()を呼び出します。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/vue.js"></script>
</head>
<body>
<div id="app">
<p>{{a}}</p>
<p>{{b}}</p>
</div>
<script>
var vm=new Vue({
el:"#app",
data:{
a:10,
b:15
}
});
vm.$watch("a",function(){
alert('a ');
this.b=100;
});
document.onclick=function(){
vm.a=2
}
</script>
</body>
</html>
第二の深度モニター
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/vue.js"></script>
</head>
<body>
<div id="app">
<p>{{a|json}}</p>
<p>{{b}}</p>
</div>
<script>
var vm = new Vue({
el: "#app",
data: {
a: { id: "1", title: "width" },
b: 15
}
});
vm.$watch("a", function() {
alert('a ');
this.b = 100;
}, { deep: true });
document.onclick = function() {
vm.a.id = "2";
}
</script>
</body>
</html>
ps:次はvueの中のウォッチの使い方を見ます。オブジェクトに対応して、キーは観察式で、値は反転に対応します。値は、メソッド名またはオブジェクトであってもよいし、オプションが含まれています。実装時には、キーごとに$watch()を呼び出します。
// vue-cli
<template>
//
<input v-model="example0"/>
<input v-model="example1"/>
/ examples2 , , , deep:true
<input v-model="example2.inner0"/>
</template>
<script>
export default {
data(){
return {
example0:"",
example1:"",
example2:{
inner0:1,
innner1:2
}
}
},
watch:{
example0(curVal,oldVal){
console.log(curVal,oldVal);
},
example1:'a',// methods
example2:{
// : ,curVal oldVal ,
handler(curVal,oldVal){
conosle.log(curVal,oldVal)
},
deep:true
}
},
methods:{
a(curVal,oldVal){
conosle.log(curVal,oldVal)
}
}
}
</script>