watch 監聽事件
可以監聽data,也可以監聽router
三個參數 :handler,deep,immdiate(平常的寫法也是一個handler簡寫)
watch:{
num:{
handler(newValue,oldValue){
console.log(newValue,oldValue)
},// 數據變化時候的一個操作函數
deep:true, //是否深度監聽 如果監聽一個對象就需要true
immediate:false,//一打開頁面是否進行監聽
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<div id="app">
<button @click="num++">num++</button>
<div>{{num}}</div>
</div>
<script src="lib/vue-2.4.0.js"></script>
<script>
var vm = new Vue({
el: '#app',
data: {
num: 0
},
methods: {},
watch: {
// num: function() {
// console.log('num變化')
// },
num: {
handler(newValue, oldValue) {
console.log(newValue + '=====' + oldValue)
}, //數據變化時候的一個操作函數
deep: true, //是否深度監聽 如果監聽對象是一個對象 那么就需要是true
immediate: false //一打開頁面是否進行監聽
}
}
})
</script>
</body>
</html>