在Vue中,props是父組件傳遞給子組件的數據,子組件無法直接對props進行監視(watch)。但是可以通過在子組件中使用computed屬性來實現對props的監視。
例如,假設父組件傳遞了一個名為myProp
的props給子組件,我們可以在子組件中使用computed屬性來監視myProp
的變化:
export default {
props: ['myProp'],
computed: {
myPropWatcher() {
return this.myProp;
}
},
watch: {
myPropWatcher(newVal, oldVal) {
// 處理myProp的變化
}
}
}
通過將myProp
映射到computed屬性myPropWatcher
,我們可以實現對myProp
的監視,一旦myProp
發生變化,watcher會自動觸發。
另外,如果你想要在子組件中監視多個props,可以使用對象的方式進行監視:
watch: {
'myProp1': function(newVal, oldVal) {
// 處理myProp1的變化
},
'myProp2': function(newVal, oldVal) {
// 處理myProp2的變化
}
}
這樣就可以實現對多個props的監視。希望能幫助到你。