企业级应用多标签页页面管理方案,包含页面缓存和刷新。 #13526
luckygc
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
vue-router+pinia项目的多页面管理,适用于组件复用作为页面,需要单独缓存每个实例的情况,以及优雅的页面刷新。
实现思路
1.页面刷新
vue通过key来标识每个组件,key变化会导致组件重新渲染。那么就可以通过改变key来实现组件的刷新。
定义一个响应Map来存储页面组件对应的key,需要刷新页面那就更新组件对应的key,就可以控制页面重渲染,也就是刷新
2.页面缓存
在复用组件的作为页面的情况下,由于组件name一样,vue缓存的是同一个实例,那么可以通过包裹组件的方式解决,包裹的组件name可以自定义。
核心代码
由于有组件复用的情况,所以统一使用路由的fullPath来作为标识,组件name和组件key都和fullPath关联。
使用方式
路由监听
router-view
页签管理
Beta Was this translation helpful? Give feedback.
All reactions