今天在开发项目中发现一个bug,因为我在search页面使用了watch监听了路由参数的变化,在切换页面到其他页面的时候,发生了一个弹框null,这是调用接口报错的提示信息。
尴尬啊,没遇见过这种情况,记录下
// 产生bug的代码
watch: {
'$route.query': {
immediate: true, // 初始化时立即触发
handler(newQuery, oldQuery) {
this.type = newQuery.type
this.searchWords = newQuery.searchWords
this.debouncedInit()
}
}
},
// 修改以后
watch: {
'$route': {
immediate: true, // 初始化时立即触发
handler(newQuery, oldQuery) {
if (newQuery.path === '/search') {
this.type = newQuery.query.type
this.searchWords = newQuery.query.searchWords
this.debouncedInit()
}
}
}
},
就是上面这段代码,让我尴尬的不行,应该还有其他更好的解决方案,先记下来,后续研究了再来更新。