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.
		
		
		
		
		
			
		
			
				
					
					
						
							56 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							56 lines
						
					
					
						
							1.3 KiB
						
					
					
				| <!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> |