You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
	
	
		
		
			
	
	
		
			
				
					
						
							|  |  |  | <!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>
 |