代码之家  ›  专栏  ›  技术社区  ›  Estus Flask

在防护中检测导航中止/取消

  •  0
  • Estus Flask  · 技术社区  · 5 年前

    目前预计导航已经确认,所以 beforeEach 和 afterEach 全球警卫被触发。 showSpinner 和 hideSpinner 应该在每次导航时成对调用。

    router.beforeEach((to, from, next) => {
      showSpinner();
      next();
    }
    
    router.afterEach((to, from, next) => {
      hideSpinner();
      next();
    });
    

    据我所见,导航结果无法通过 next 看守。

    然后在另一个地方,导航被取消,所以它停留在前一条路线上,并且 之后 未触发(这可能适用于导航中止):

    beforeRouteEnter() {
      ...
      next(false);
    }
    

    结果是 之后 和 隐秘的 没有被触发。

    Vue路由器3.4.9和Vue 2.6都会出现这种情况。

    如何解决这个问题?

    0 回复  |  直到 5 年前