通过Nuxt中间件根据用户的角色重定向用户 [英] Redirect user based on their role via nuxt middleware
本文介绍了通过Nuxt中间件根据用户的角色重定向用户的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望通过nuxt中间件根据用户的角色和其他属性重定向用户。
**发生重定向但卡在导航卫士中,页面一次又一次自动重载(秒重载~500次)。
#这是我的代码
nuxt.config.js
router: {
middleware: ['role']
},
middleware/role.js
export default function ({ redirect }) {
if (!window.localStorage.getItem('auth.token')) {
return redirect('/auth/login')
}
}
the screenshot of browser console
推荐答案
重定向是一种全新的页面加载,就像您第一次访问某个页面或按F5键一样。由于您在这里执行某些条件,它将始终进行重定向,Vue应用程序将加载,并在无限循环中再次调用中间件。
创建router.push
或检查初始页面是否不是重定向之前已在的页面(不是最佳选择)。
已更新答案
在中间件上下文中,如果您想访问路由器,则需要使用
<script>
export default {
middleware({ app }) {
if (somethingTrue) { // your condition here
app.router.push('/')
}
},
}
</script>
这篇关于通过Nuxt中间件根据用户的角色重定向用户的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文