vue返回页面不刷新,进入该页面刷新问题

在vue项目中,会遇到页面返回不需要刷新,但是进入页面需要刷新的问题。vue提供了keep-alive这个属性可以解决改问题。

  1. 在路由文件里面,找到该页面,然后加入 :
  meta:{
    keepAlive:true,
    isBack: false
  },
  component: () => import('../pages/dataEcharts/dataEcharts.vue'),
  beforeEnter: (to, from, next) => {
    if (from.name == "healthMonitoring"){
      to.meta.isBack = true; 
      next()
    }else{
      to.meta.isBack = false; 
      next()
    }
  },

dataEcharts为不需要刷新的页面,healthMonitoring为返回dataEcharts的上一个页面,我们这里需要实现从healthMonitoring返回到dataEcharts,页面不刷新。
2. 在App.vue里面修改router-view:

 <div id="app">
   <keep-alive>
     <router-view v-if='$route.meta.keepAlive'/>
   </keep-alive>
     <router-view v-if='!$route.meta.keepAlive'/>
 </div>
  1. 在dataEcharts.vue里面加入代码:
 activated(){
     if(this.$route.meta.isBack){
         //加入页面初始化的逻辑
     }
 },
Logo

前往低代码交流专区

更多推荐