商店派发后Nuxt.js触发中间件

时间:2018-11-06 18:19:07

标签: javascript nuxt.js ssr

我正在尝试使用 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不会触发中间件。如何使用logout函数使其正常工作?

(主要问题是如何在不进行强制刷新的情况下手动重新运行页面上的中间件,以检查页面是否需要身份验证)。

基本上,问题在于,如果在需要身份验证的页面上调用logout,则在“推送”当前路径以路由当前页面上的中间件之后,需要将用户重定向到login页,而不是停留在需要验证用户身份的页面上。

1 个答案:

答案 0 :(得分:0)

$router.push不会刷新同一路径上的页面。您可以尝试$router.go()

如果不带任何参数调用go(),则会刷新当前页面。