soybean-admin icon indicating copy to clipboard operation
soybean-admin copied to clipboard

一些想法

Open kenixFog opened this issue 2 years ago • 2 comments

1、路由优化:一般情况下菜单、路由都是从后台获取加载的,所以对应的routeKey集合也应该自动适配或生成,目前好像是需要手动在文件里添加,并且处理路由过程,是用到了routeKey类型约束,不添加应该会报错。 2、vue页面缓存:正常vue页面,开启keepalive缓存后,默认情况不论刷新,关闭后重新打开,还是切换tab,都会保持志之前的现状。是否可以只在切换tab时,使得keepalive生效,而在手动刷新、关闭后重新打开,即便开启了keepalive,也会重新加载页面。是否可以通过添加meta属性,添加keepalive开启状态下,生效的事件:1、点击菜单(或页面连接)全新打开页面(open)2、点击已打开页面的菜单(链接)或切换tab(switch)3、刷新,不论是点击tab菜单还是右侧刷新(refresh) 3、iframe页面缓存:看了网上大部分解决思路是,将所有ifram页面拿出来,循环先渲染好,然后根据路由路径,控制哪个显示。这是一个解决方案,但是如果iframe页面过多,肯定存在性能问题,而目前肯定都是系统集成,iframe页面不会少。而且这样也存在一个问题,无法支持刷新,获取最新新页面。

kenixFog avatar Jul 12 '22 03:07 kenixFog

  1. 当需要创建页面时,后端创建了一个页面的路由数据,而前端没有对应的vue页面,这样还是得修改前端代码,routeKey就是创建页面时的一个附加操作,你自己试试就清楚了
  2. 这样设计缓存也有道理,不过要实现的话改动的很多,可以考虑后面的大版本再重构Tab这一块
  3. iframe的刷新问题和问题2中的一样,后面重构时再一起实现

honghuangdc avatar Jul 12 '22 15:07 honghuangdc

2.第二点可以把keep-alive的include里面cacheRoutes改成动态控制的,新开一个tab加路由name,关闭tab时再把cacheRoutes移除该路由name。 3.第三点可以不用事先一次性把所有iframe渲染,打开某个,渲染某个iframe即可,类似以前的jq框架,不过同时打开的iframe多了是有性能问题。

Gardent avatar Sep 15 '22 08:09 Gardent

安排了 v1.0 #172 支持可控制的Tab缓存

v2.0 支持iframe缓存

honghuangdc avatar Feb 27 '23 12:02 honghuangdc