我有一个调用类似
的方法的观察者watch: {
'list.items' (n, o) {
this.doSomething()
}
}
问题是,无论何时加载页面,我都会将新值推送到list.items
中:
methods: {
fetchLists(){
axios.get('/').then(
res => {
this.items.push(res.data)
};
}
}
我将fetchLists调用为:
created () {
this.fetchLists()
}
这里的问题是,当list.items发生变化时,当页面加载时,观察者会调用this.doSomething()
,但我不想让观察者在初始页面加载后调用doSomething
答案 0 :(得分:3)
您可以在hasLoaded
中定义要测试的布尔数据项watch
,并在完成提取时设置它,或者在提取完成后使用this.$watch
,而不是在组件中设置watch
条目。
看起来像
this.$watch('list.items', (n, o) => {
this.doSomething();
});