场景复现:在列表中使用监听值刷新请求,多个值的情况下,每一个改变值都会触发getList方法,从而导致的多次请求的出现
代码复现
computed: {
watchendDate() {
return this.params.startDate;
},
watchPointType() {
return this.params.pointType;
}
},
watch: {
watchendDate(n) {
this.getList();
},
watchPointType(n) {
this.getList();
}
}
目前的解决方法
定义一个全局状态值为false的字段offFirstEnter
,当getList()
有成功返回时再将offFirstEnter
修改为true
解决之后的代码
watch: {
watchendDate(n) {
if(!this.offFirstEnter){return;}
this.getList();
},
watchPointType(n) {
if(!this.offFirstEnter){return;}
this.getList();
}
}
? 大功告成,解决之后页面请求请求就只有一次了