企业级应用多标签页页面管理方案,包含页面缓存和刷新。 #13526
luckygc
started this conversation in
Show and tell
Replies: 0 comments
# for free
to join this conversation on GitHub.
Already have an account?
# 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