【前端打怪升级日志之微前端框架篇】微前端qiankun框架子应用间跳转方法
•
前端
参考链接
qiankun官网:微应用之间如何跳转?
1.主应用、子应用路由都是hash模式
主应用根据 hash 来判断微应用,无需考虑该问题
2.主应用根据path判断子应用
| 方法 | 实现 | 适用条件 | 参数传递 | 存在问题 |
| a标签跳转 | 页面重新刷新,原来的状态丢失,用户体验不好 | |||
| h5提供的history.pushState()方法 |
history.pushState(state, title[, url]) 详见:history.pushState() |
微应用的路由模式为histroy |
传参:通过state状态对象 取参:history.state |
不够优雅和友好 |
| 通过props调主应用的路由实例,主应用再去匹配分发到子应用路由 | 在子应用注册时将主应用的路由实例对象传过去,子应用挂载到全局,用主应用的router 跳转。 | router传参和取参 |
|
|
| single-spa提供的navigatorToUrl方法 |
// 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);
},
|
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/3fe3bde98f.html
