ZhangYiLin
ZhangYiLin
我遇上了类似的问题。 我的主应用和子应用都是vue3+vue-router4+webpack的,然后是主应用将router传入到了子应用(下文称为parentRouter)。 以下是我碰到的一些问题: 1.子应用通过parentRouter.push方法跳回主应用的home页,然后通过浏览器的“回退”按钮不能正确返回到子应用,会丢 失“activeRule”那一部分。 此问题已通过 https://juejin.cn/post/7184334346583539767 解决。 2. 解决完 子应用\父应用之间相互跳转的问题后,又碰上了子应用通过parentRouter.push跳转其他子应用时,会偶然报错 http://xxxxxundefined的问题。此问题已通过 [https://www.cnblogs.com/shapeY/p/17356929.html](url) 解决。 3. 补充:在经过上述处理后,我发现主子应用之间、子子应用之间的跳转都没问题了。但是单个子应用之间的跳转, 会在点击浏览器的“回退”按钮后出现问题,问题表现为:地址栏错误拼接了两层“activeRule” 导致子应用的路由 不能正常加载。于是我手动进行了去重处理(不知道原因,自己瞎捣鼓做出来的,目前只是能用,期待大佬们的解惑) 以上修改都是在父应用的router前置拦截器中进行处理的,代码如下: 
@cjlhll `router.beforeEach(async (to, from) => { let current = window.location.pathname.split('/') if (current[1] === current[2]) { current = current.slice(2) current = current.join('/') current = current.startsWith('/') ? current : '/' + current...
@cjlhll 这样嘛,那你再去问问其他大佬,我也是找了很多文章后整理的,我在我项目里是勉强能用
这是我推导出此答案的过程,同时我将我的每一步思路以及试错过程也都写上去了: ```typescript namespace STEP { type Uni = [1, 2, [3, 4], [[[5]]]] // 第一步:看题目说要扁平化数组类型,首先想到泛型应该约束成数组类型。 // 然后需要一个一个去处理数组的每一项,于是想到了 [infer First,...infer Rest] type STEP1 = T extends [infer First, ...infer Rest] ?...