javascript - Vue 3 路由器推入挂钩
问题描述
我在使用 Vue 3 router.push() 函数时遇到问题。我正在尝试登录用户,或者实际上取消登录。这个想法是,用户被重定向到另一个页面,这个页面返回 oAuth 令牌进行验证。因此,在任何情况下,第三方登录页面都会重定向到我的网站并返回 oAuth 代码或错误。如果客户已登录,它会将他重定向到我的网站,如果没有,它必须将他返回到我网站的主页,但这并没有按预期工作。
所以这是我的钩子
onBeforeMount(async () => {
await ExecuteLoginRequest(props.pre_auth_code)
.catch(reason => {
error.value = reason;
if(!props.pre_auth_code && router.currentRoute.value.query.error === 'canceled_by_user'){
router.push({ name: "home.index"})
return true;
}
throw new Error(reason)
}).then(async (value) => {
return value;
})
.then(value => {
resumeUser();
return value;
})
})
问题是,router.push 没有重定向到主页,它实际上是将用户重定向到登录页面,我不知道它是如何获取这个 url,因为我的 url 实际上是 localhost。
作为一个错误,我有:
在 <ComponentNameHere pre_auth_code=false state=false onVnodeUnmounted=fn ... > at at at 执行 beforeMount 挂钩期间出现未处理的错误
我在这里做错了什么?
解决方案
推荐阅读
- python - 使用 mysql 和 csv 文件动态插入
- node.js - ExpressJS 在不同的路由中调用另一个路由
- google-apps-script - 谷歌应用脚本:是否可以在发送共享通知的同时限制文件的共享设置?
- c++ - 如何在 MacOS 上构建和链接 Boost.Serialization
- django - 即使使用媒体 url 和媒体根,Django 模板图像也不会显示
- javascript - React - 不必要的渲染
- python - 将 txt 文件中的条目导入列表。格式问题
- amazon-dynamodb - 是否可以在 dynamodb 查询的排序键中使用正则表达式?
- node.js - 无响应的上传按钮 React.js 和 Node.js 构建
- javascript - 如果我在 firestore 上设置了 ignoreUndefinedProperties 设置,则获取“FirebaseError:缺少或不足的权限”