vue.js - Vue路由器总是重定向到错误页面
问题描述
我正在尝试在用户未登录时设置重定向。但是当我像在我的示例中那样执行此操作时,URL 会更改,但我This page could not be found
是从 nuxt 获取的。该代码位于 plugins 文件夹内的 login.js 中。然后我像这样将它包含在 nuxt 配置中。
plugins: [
'~/plugins/login.js'
],
这是处理重定向的实际代码
export default ({ app, store }) => {
app.router.beforeEach((to, from, next) => {
const loggedIn = store.state.account.loggedInAccount
if (!loggedIn) {
if (to.path !== '/redirect') {
next({ path: '/redirect' })
} else {
next()
}
} else {
next()
}
})
}
看起来路线尚未安装。
解决方案
你应该尝试使用middleware
. beforeEach
这是官方文档中提到的实现功能的常规方式。你可以从这里读到它。如果可以访问中间件内部的route
对象、store
对象和函数,那么在验证后使用指向其他路由。redirect
redirect
推荐阅读
- google-apps-script - 可以在 gmail 插件(Google 应用程序脚本)中使用的 setInterval 等效项是什么
- c++ - std::enable_if 用于两种不同的方法实现(4 种不同的情况)
- javascript - 如何对使用 Jest 和 Enzyme 调用的 jquery 进行单元测试?
- javascript - 在没有浏览器的情况下在 CefSharp 中的另一个 html 文件中包含 html 文件的内容
- magento - 模块未显示在 Magento 管理面板中
- javascript - Node.js - 传输大文件而不消耗大量内存
- react-native - 无法在本机反应中添加边框底部
- python - 如何使用 TA-lib 在多个证券上创建移动平均线?
- getstream-io - 消失了我的 getstream.io 应用程序。我能找到这个吗?
- c - 1到1000之间的完美数字