<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>3.天气案例_深度监视</title> <script type="text/javascript" src="../vue.js"></script> </head> <body> <div id="root"> <h3>今天天气很{{showInfo}}</h3> <button @click="changeWeather">切换天气</button> <hr/> <h3>a的值是:{{number.a}}</h3> <button @click="number.a++">点我a+1</button> </div> <script> Vue.config.productionTip = false const vm = new Vue({ el: "#root", data: { 'isHot': true, number: { a: 1, b: 1, } }, computed: { showInfo() { return this.isHot ? '炎热' : '凉爽' } }, methods: { changeWeather() { this.isHot = !this.isHot } }, watch: { isHot: { immediate: true, handler(newValue, oldValue) { console.log('isHot 被修改', newValue, oldValue) } }, 'number': { deep: true, // 深度监视开关 handler() { console.log('number被改变! ', this.number.a) } } } }) </script> </body> </html>