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

<!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>