权限和路由跳转确认,beforEach 和 beforeRouteLeave中next逻辑
发布于 7 年前 作者 biggu0 6743 次浏览 来自 问答
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利

在全局router中用beforeEach去做权限判断,在组件里面有beforeRouteLeave用来提醒用户跳出当前页面的确认逻辑,但是点击确认跳转走到beforeEach里面的权限逻辑时next({path: path})并没有刷新路由,需要二次点击确认才可以。附加部分代码: -界面中的“离开界面”判断 beforeRouteLeave (to, from, next) { if (! this.modelSaved) { var modal = this.confirm(‘退出确认’, ‘您在当前查询还有未保存的修改,确认退出?’, [ { text: ‘是的,确认退出’, clazz: ‘’, click: () => { next(); modal.close(); … -全局的 router.beforeEach((to, from, next) => { if (to.matched.some(record => record.meta.requiresAuth)) { if (to.meta.authUrl) { let path = to.meta.warnUrl || ‘/auth’; next({ path: path }); …

回到顶部