跳转详情(鉴权写过的情况下)时遇到的问题 :
Uncaught (in promise) undefined,未捕获的promise,因为应用程序实际上没有生成任何错误。它只是一个导航($router.push),在beforeEnter钩子中生成重定向(next(’/ foo’))
解决
1.使用route-link to bar代替$push
跳转频繁时一般使用route-link,不频繁时一般使用push方法
<router-link to="/settlement_manage/account">
<el-button :disabled="loading" size="mini" type="warning">
查看详情
</el-button>
</router-link>
2对所有调用进行push更新:
xq(id) {
console.log(id);
this.$store.commit("xqId", id);
this.$router.push("/detail",()=>{});
},
3.使用时进行错误拦截
xq(id) {
console.log(id);
this.$store.commit("xqId", id);
this.$router.push("/detail").catch(error=>{})
},
上述三种方法亲测有效!!!
vue中puth详细介绍:
https://router.vuejs.org/zh/api/#router-aftereach
还有一篇相关push方法重写遇到的问题
https://blog.csdn.net/wjw0125/article/details/106840105?spm=1001.2014.3001.5501