vue之keep-alive缓存动态组件的使用

版权声明: https://blog.csdn.net/GoldenLegs/article/details/81980818

在业务开发中,会有路由跳转但是返回需要保留数据的场景(如:列表页的加载);vue 中提供了 keep-alive 来处理

解决方案

返回dom不让其重新刷新,在vue-view外面包一层, 
当引入keep-alive的时候,页面第一次进入,钩子的触发顺序created-> mounted-> activated,退出时触发deactivated。当再次进入(前进或者后退)时,只触发activated。 
事件挂载的方法等,只执行一次的放在 mounted 中;组件每次进去执行的方法放在 activated 中; 
可以将 是否包裹 keep-alive 通过参数配置;

<keep-alive>
    <router-view v-if="$route.meta.keepAlive" style="min-height:100%"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive" style="min-height:100%"></router-view>
//不需要刷新的路由配置里面配置 meta: {keepAlive: true}, 这个路由则显示在上面标签;
//需要刷新的路由配置里面配置 meta: {keepAlive: false}, 这个路由则显示在下面标签;

猜你喜欢

转载自blog.csdn.net/GoldenLegs/article/details/81980818