leekbillow

Results 8 comments of leekbillow

> 大佬,我照着你这样改但还是不起作用,而且多个路由公用一个组件页面name怎么弄? 我也不知道你是什么情况,检查一下菜单缓存要开启,各个name也要对应上才能缓存成功; 缓存也是填页面的name,跟组件没关系啊;

> > 大佬,我照着你这样改但还是不起作用,而且多个路由公用一个组件页面name怎么弄? > > 我也不知道你是什么情况,检查一下菜单缓存要开启,各个name也要对应上才能缓存成功; > 缓存也是填页面的name,跟组件没关系啊; 你的意思是多个路由对应同一页面?那也还是那样填啊,不过我没有试过效果如何; **【2】** 的name填的是二级的name,不是三级name

> 多级路由嵌套缓存的唯一解决方案 #3436 太麻烦了,还要处理路由和面包屑; 缓存二级会导致缓存所有该二级下的所有三级,但我的处理方式是二级vue文件自己套一层keep-alive,传入include和key就可以将三级菜单缓存区分开,这种方法并不需要改路由文件也不需要改面包屑;

@YOOYY 你说得没错 - 雀食少了删除二级缓存的逻辑,三级全关的情况下二级缓存没移除 - 二级目录的vue文件里router带key``雀食也会导致额外的页面生成,因为之前我一直做的页面created里面都只有缓存的请求,并没有发现这个问题

> 还有个bug,三级嵌套路由缓存情况下,2级路由的切换会出现三级页面错乱的情况,而且没找到啥好的解决办法,最后还是改成了 拉平嵌套路由那种方法 移除key的话会导致页面没有重新加载,依次打开页面1-1、1-2、2-1,从1-2切换到2-1后再切回1-1,此时只是把2二级路由切回1,但下面的三级路由没有更新,保持了之前的状态(1-2),所以造成了这个错乱的情况,解决方法就是在切换二级路由时调用`$forceUpdate`刷新,就可以切回正确匹配的页面了

该issue写在一年前,没想到刚好就跟去年写的时候差一天,正牌作者不出手只能自己提点拙见尝试解决。 之前的解决方法有问题: 1. 会导致多余的页面生成 2. 三级页面全部关掉后二级也始终缓存着一个二级页面 尝试再更新一版解决方法: 1.在`tagsView.js`添加缓存逻辑中,将上级菜单加入缓存 ```js ADD_CACHED_VIEW: (state, view) => { if (state.cachedViews.includes(view.name)) return; const { matched, meta, name } = view; if (!meta.noCache) { if (matched.length...

> > 该issue写在一年前,没想到刚好就跟去年写的时候差一天,正牌作者不出手只能自己提点拙见尝试解决。 之前的解决方法有问题: > > > > 1. 会导致多余的页面生成 > > 2. 三级页面全部关掉后二级也始终缓存着一个二级页面 > > > > 尝试再更新一版解决方法: 1.在`tagsView.js`添加缓存逻辑中,将上级菜单加入缓存 > > ```js > > ADD_CACHED_VIEW: (state, view) => {...

接上楼,第一个问题看错了,想共用一个二级路由也不是不可以,所有三级共用一个二级name,菜单里二级路由也也都填同一个地址