Javascript Nuxt.js在商店分派后触发中间件
我正在尝试使用Nuxt.js创建一个具有身份验证的简单应用程序。我有一个Javascript Nuxt.js在商店分派后触发中间件,javascript,nuxt.js,server-side-rendering,Javascript,Nuxt.js,Server Side Rendering,我正在尝试使用Nuxt.js创建一个具有身份验证的简单应用程序。我有一个auth中间件,如果我没有登录,它会将我重定向到login页面。问题出在logout函数中,该函数应检查此页面上是否有auth中间件,如果有,则将我重定向到login页面。我在试着写作 methods: { async logout() { try { await this.$store.dispatch('auth/logout'); this.$ro
auth
中间件,如果我没有登录,它会将我重定向到login
页面。问题出在logout
函数中,该函数应检查此页面上是否有auth
中间件,如果有,则将我重定向到login
页面。我在试着写作
methods: {
async logout() {
try {
await this.$store.dispatch('auth/logout');
this.$router.push(this.$route.fullPath);
} catch (e) {
console.log(e);
}
}
}
但是,router.push
不会触发中间件。如何使用注销功能使其正常工作
(主要问题是如何在页面上手动重新运行中间件,而无需硬刷新以检查页面是否需要身份验证)
问题基本上是,如果在需要身份验证的页面上调用注销
,在“推送”当前路径到路由器之后,当前页面上的中间件需要运行,因此用户被重定向到登录
页面,而不是停留在需要用户进行身份验证的页面上 $router.push不会刷新同一路径上的页面。您可以尝试$router.go()
如果在没有参数的情况下调用go()
,则当前页面将刷新。完全不清楚您的任务是什么problem@Aldarund,请重新检查。为什么不在注销时重定向用户登录?@Aldarund,例如,/
页面上的注销
不应将用户重定向到/login
,因此请检查其是否正确,然后重定向,谢谢!但是没有刷新页面的情况下还有更多的SPA变体吗?你找到SPA解决方案了吗?