VUE中keepAlive结合路由判断页面是否需要刷新

VUE中keepAlive结合路由判断页面是否需要刷新


在vue项目中我们经常需要判断路由是从哪个页面跳转过来的,以便判断当前页面是否需要刷新
结合beforeRouteEnter
VUE中keepAlive结合路由判断页面是否需要刷新
VUE中keepAlive结合路由判断页面是否需要刷新

  beforeRouteEnter (to, from, next) {
    if (!from.name || from.name === 'RecordProblem' || from.name === 'ScreenPage') {
      refreshFlag = true
    } else {
      refreshFlag = false
    }
    next()
  },

我们之所以在全局定义refreshFlag而不再mounted或者data里定义是因为当生命周期进入beforeRouteEnter的时候,此时当前页面还没有被mounted,因此我们是获取不到当前实例this的指向的,因此我们也就取不到这个变量。
我们在全局定义不管当前实例有没有被创建,我们都可以获取标识是否需要刷新的变量。因此在activated的是时候我们就可以根据此变量判断页面是否需要刷新
over!