代码之家  ›  专栏  ›  技术社区  ›  Alvaro

在DOM更改之前使用vue路由器更改路由时引发事件?

  •  2
  • Alvaro  · 技术社区  · 7 年前

    我对Vue还很陌生,希望这不是一个非常愚蠢的问题:)

    这个 beforeDestroy 被炒鱿鱼 之后 DOM结构将发生变化。

    beforeUpdate updated 事件,但在DOM更改之前似乎没有触发任何事件。

    在线复制: https://jsfiddle.net/p2c3b10t/18/ (检查控制台)

    1 回复  |  直到 7 年前
        1
  •  4
  •   Ricky Ruiz    7 年前

    处理路由时 Vue Router ,而不是依赖 lifecycle hooks ,使用 navigation guards . 这些防护装置连接到路线导航过程中,可以是 global , per-route ,或 in-component .

    beforeRouteLeave 部件防护罩内。

    beforeRouteLeave (to, from, next) {
      // called when the route that renders this component is about to
      // be navigated away from.
      // has access to `this` component instance.
    }
    

    在这个守卫里,我们可以进入 to from ,然后打电话 next .

    export type NavigationGuard = (
      to: Route,
      from: Route,
      next: (to?: RawLocation | false | ((vm: Vue) => any) | void) => void
    ) => any
    
    • 是导航到的目标路线。

    • 是电流吗

    • 下一个 是解析钩子必须调用的函数

    在这个保护中执行逻辑之后,必须调用 next() 来解决这个问题。


    Revised JSFiddle

    推荐文章