watch監(jiān)聽方法每次只能監(jiān)聽一個變量,單純的使用watch是無法監(jiān)聽多個變量的,但是我們通過computed計算屬性返回一個對象,然后使用watch監(jiān)聽這個計算屬性的方法,只要值改變就會觸發(fā)watch。
<template>
<div class="demo">
<a-button
type="primary"
@click="
() => {
this.isLace = !this.isLace
}
"
>
{{ isOnchange }}
</a-button>
</div>
</template>
<script>
export default {
name: 'demo',
data() {
return {
isLace: false,
loading: false,
}
},
computed: {
isOnchange({ isLace, loading }) {
//等同于 const { isLace , loading }=this
return { isLace, loading }
},
},
watch: {
//只要有一個值改變都會觸發(fā)監(jiān)聽
isOnchange: function (o, n) {
// o改變后的值
// ?n改變前的值
console.log(o, n)
},
},
}
</script>
總結:watch監(jiān)聽多個變量也就是利用計算屬性computed把多個變量通過對象的形式返回,然后watch去監(jiān)聽computed計算屬性,只要值改變了就先觸發(fā)computed屬性計算,在觸發(fā)watch監(jiān)聽