关于组件守卫在子组件中没有触发

 beforeRouteEnter(to, from, next) {
    // 在渲染该组件的对应路由被 confirm 前调用
    // 不!能!获取组件实例 `this`
    // 因为当守卫执行前,组件实例还没被创建
  },
  beforeRouteUpdate(to, from, next) {
    // 在当前路由改变,但是该组件被复用时调用
    // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
    // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
    // 可以访问组件实例 `this`
  },
  beforeRouteLeave(to, from, next) {
    // 导航离开该组件的对应路由时调用
    // 可以访问组件实例 `this`
  }


经测试,这些在子组件中都没有触发;查了一些资料,其中看到一个网友的讲述觉得挺有道理,就是这个组件要直接和<router-view>直接挂钩才行,并且外加<keep-alive>才会触发
其实文档说的是路由组件,而不是组件,就是和路由挂钩的那种才行;
posted @ 2021-07-29 09:55  sky-su  阅读(505)  评论(0)    收藏  举报