开发者社区> 问答> 正文

示例vue 的keep-alive缓存功能的实现

示例vue 的keep-alive缓存功能的实现

展开
收起
社区秘书 2019-12-16 14:11:18 858 0
1 条回答
写回答
取消 提交回答
  • 
    
    
    Vue 实现组件信息的缓存
    当我们在开发vue的项目过程中,避免不了在路由切换到其他的component再返回后该组件数据会重新加载,处理这种情况我们就需要用到keep-alive来缓存vue的组件信息,使其不再重新加载。
    
    一、在app.vue里
    
    keep-alive>
      <router-view></router-view>
    </keep-alive>
    但是这种情况会对所有的组件进行缓存,不能达到单个组件缓存的效果。 那么我们给部分组件加上,实现方法如下: 在app.vue
    
    <!--这里是需要keepalive的-->
    <keep-alive>
      <router-view v-if="$route.meta.keepAlive"></router-view>
    <keep-alive>
    
    <!-- 这里不会被keepAlive -->
    
    <router-view v-if="!$route.meta.keepAlive"></router-view>
    二、 在路由的index.js页面里
    
    {
      path: '',
      name: '',
      component: '',
      meta: {keepAlive: true}   // 这个是需要keepalive的
    },
    {
      path: '',
      name: '',
      component: ,
      meta: {keepAlive: false}  // 这是不会被keepalive的
    }
    这就实现了部分组件的缓存功能 如果缓存的组件想要清空数据或者执行初始化方法,在加载组件的时候调用activated钩子函数,如下:
    
    activated: function () {
      this.data = ‘'
    }
    结语
    
    感谢您的观看,如有不足之处,欢迎批评指正。
    
    2019-12-16 14:11:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Vue.js 在前端服务化上的探索与实践 立即下载
Vue.js在前端服务化上的实践与探索 立即下载
利用编译将 Vue 组件转成 React 组件 立即下载