监视属性watch:
1、当被监视的属性变化是,回调函数自动调用,进行相关操作
2、监视的属性必须存在,才能进行监视!!
3、坚实的两种写法:
- new vue时传入watch配置
- 通过vm.$watch监视
<div id="root">
<h2>今天天气很{{info}}</h2>
<button @click="changeWeather">切换天气</button>
</div>
<script>
const vm = new Vue({
el: "#root",
data() {
return {
isHot: true,
}
},
computed: {
info() {
return this.isHot ? "炎热" : "凉爽"
}
},
methods: {
changeWeather() {
this.isHot = !this.isHot
}
},
// watch: {
// isHot: {
// immediate: true,//初始化时让handler调用一下
// // handler什么时候调用?当isHot发生改变时调用
// handler(newValue, oldValue) {
// console.log("isHot被修改了");
// }
// }
// }
})
vm.$watch("isHot", {
immediate: true,//初始化时让handler调用一下
// handler什么时候调用?当isHot发生改变时调用
handler(newValue, oldValue) {
console.log("isHot被修改了");
}
})
</script>