Javascript 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

我正在尝试使用Nuxt.js创建一个具有身份验证的简单应用程序。我有一个
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解决方案了吗?