不设置keep-alive,离开当前路由时,会调用beforeDestroydestroyed来销毁。
当设置keep-alive之后,不会直接调用这组销毁生命周期函数,而是在生命周期函数中新增两个:activateddeactivated

  1. 第一次进入页面时,生命周期函数执行简单来说是这样的:
    在这里插入图片描述
  2. 当退出时,会触发deactivated()函数;
  3. 当再次进入该页面时,只会执行activated()函数。
配合导航守卫,手动调用生命周期销毁函数
beforeRouteLeave (to, from, next) {
    this.destroy();
    next();
}
Logo

前往低代码交流专区

更多推荐