搜索

首页  >  问答  >  正文

Vue JS Router:重定向时重新加载页面

我有一个带有 Login.vue 和 Home.vue 文件的应用程序。因为我将管理 HTML 网站转换为 vue 3 应用程序,所以我的 javascript 仅适用于页面重新加载。创建应用程序时,我选择为 SPA 添加路由器,也许我不应该这样做。到目前为止,视图正在工作,除非我从登录重定向到主页而不重新加载。由于它不会重新加载,因此我的导航栏或任何依赖于 JS 的功能将无法工作。如何通过页面重新加载从登录重定向到主页?目前,我有以下代码,但仍然无法工作。

this.$router.push({
      path: "/admin/home",
      reload: true
    });


P粉087074897P粉087074897423 天前738

全部回复(2)我来回复

  • P粉543344381

    P粉5433443812023-10-27 10:44:15

    导航到新 URL 时,Vue Router 不会重新加载页面。

    您可以针对您的问题尝试此代码:

    const url = new URL('/admin/home', window.location.origin)
    window.location.href = url.toString()

    希望这有帮助

    回复
    0
  • P粉009828788

    P粉0098287882023-10-27 10:06:32

    您可以使用带有空参数的 this.$router.go() 来重新加载页面。结合 this.$router.push({ path: '/admin/home' }) 您可以在不使用普通 JS 功能的情况下实现它。

    
        
    sssccc
    

    请注意我是如何在 $router.push() 之后使用 .then 的。如果没有 then,页面重新加载的速度会太快,没有时间更改路线。

    作为奖励,它可以让您使用 $router.push 的所有功能(例如使用 { name: 'home' } 等参数。

    回复
    0
  • 取消回复