【前端打怪升级日志之微前端框架篇】微前端qiankun框架子应用间跳转方法

参考链接
qiankun官网:微应用之间如何跳转?

1.主应用、子应用路由都是hash模式

主应用根据 hash 来判断微应用,无需考虑该问题

2.主应用根据path判断子应用

|----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------|---------------------------------|---------------------------------------------------------------------|
| 方法 | 实现 | 适用条件 | 参数传递 | 存在问题 |
| a标签跳转 | <a href="/toA"></a> | | | 页面重新刷新,原来的状态丢失,用户体验不好 |
| h5提供的history.pushState()方法 | history.pushState(state, title, url) 详见:history.pushState() | 微应用的路由模式为histroy | 传参:通过state状态对象 取参:history.state | 不够优雅和友好 |
| 通过props调主应用的路由实例,主应用再去匹配分发到子应用路由 | 在子应用注册时将主应用的路由实例对象传过去,子应用挂载到全局,用主应用的router 跳转。 | router传参和取参 | | * 通过 js 跳转,跳转的链接无法使用浏览器自带的右键菜单(如:Chrome 自带的链接右键菜单) * 多层嵌套子应用是否会出问题? |
| single-spa提供的navigatorToUrl方法 | javascript // 1. 在qiankun.js文件中通过Vue提供的provide选项为所有子应用引入singleSpa依赖 function render(props = {}) { const { singleSpa, } = props; instance = new Vue({ provide: { singleSpa, }, render: h => h(App), }).$mount(container ? container.querySelector('#app') : '#app'); } // 2. 在子应用中调用this.singleSpa.navigateToUrl(`${url}?params`)进行页面跳转并通过URL传参,实例如下: function jumpToOthers(params){ this.singleSpa.navigateToUrl(url); }, | | | |

相关推荐
山雀~7 小时前
线上CI流水打包失败排查思路案例
前端·ci/cd
时间的情敌7 小时前
《回顾 2019 前端:React Hooks 问世,前端工程化爆发的一年》
前端·react.js·前端框架
燕落南枝7 小时前
CSS 类选择器详解:从入门到实战
前端·css
tryCbest8 小时前
Vue3——第 7 篇:组件基础——从注册到使用的完整流程
前端·javascript·vue.js
ai工具集合8 小时前
图标集用法,前端项目 SVG 图标 icon 完整接入实操
前端
门思科技8 小时前
ThinkLink 触发模型与告警规则实战:数据一小时才来一次,告警怎么做到不迟到、不刷屏、找对人
前端·后端
hunter_0768 小时前
从零读懂 SwiftUI 新拖放 API:用 Apple 的纸牌示例理解排序、多项拖拽与移动规则
前端
时间的情敌8 小时前
Electron 设置-webkit-app-region: drag;实现拖拽后, 无法响应鼠标划过事件及点击事件的解决方式
前端·vue.js
程序猿阿森9 小时前
深入解析 NLI:RAG 与大模型防幻觉的“最后一道防线”
前端·人工智能·算法
iCxhust10 小时前
模型:500kW飞轮 10kV输电线路 油田抽油机 同时考虑无功补偿 统计:全年节电量 结果56万度电
前端·css·css3·电力·飞轮