应用可以有三种方式进行通信
24 |主应用通过 props 注入 jump(跳转页面)方法,子应用通过 $wujie.props.jump(xxx) 来使用
26 |27 | 28 |
29 |子应用调用 window.parent.alert 来调用主应用的 alert方法
31 |32 | 33 |
34 |主应用 bus.$on("click", (msg) ={">"} window.alert(msg)) 监听子应用的 click 事件
36 |子应用点击按钮 $wujie.bus.$emit('click', 'react16') 发送 click 事件
37 |38 | 39 |
40 |15 | 子应用的 dom 挂载在 Web Component 的 shadowRoot 内, 16 | 17 | shadowRoot 内部的字体文件不会加载 18 | 19 |
20 |22 | 框架加载子应用时将自定义字体样式提取到 shadowRoot 的外部,注意主应用和子应用的 @font-face 的 font-family 23 | 不要重名,否则会有字体覆盖的问题。 24 |
25 |TDesign icon
27 |
28 |
框架会将子应用的 css 文件中的相对地址换成绝对地址
34 |比如 TDesign icon 的 css 文件地址为:
35 |https://tdesign.gtimg.com/icon/0.1.1/fonts/index.css
36 |index.css 文件中 @font-face 中 url('./t.woff') 最终转换为:
37 |https://tdesign.gtimg.com/icon/0.1.1/fonts/t.woff
38 |路由同步意味着浏览器的刷新、前进、后退都可以作用到子应用上
21 |子应用同步路由到主应用url的query参数上且 key值为子应用的name
22 |当用户访问location来获取当前的url时,wujie统一拦截并回填子应用正确的地址
24 |{window.location.host}
26 |子应用修改location.href,会将当前的子应用的shadow删除并且替换成一个iframe
32 |如果子应用配置路由同步,浏览器可通过回退回到子应用
33 |应用可以有三种方式进行通信
23 |主应用通过 props 注入 jump(跳转页面)方法,子应用通过 $wujie.props.jump(xxx) 来使用
25 |26 | 27 | 30 |
31 |子应用调用 window.parent.alert 来调用主应用的 alert方法
33 |34 | 35 |
36 |主应用 bus.$on("click", (msg) ={">"} window.alert(msg)) 监听子应用的 click 事件
38 |子应用点击按钮 $wujie.bus.$emit('click', 'react17') 发送 click 事件
39 |40 | 41 |
42 |路由同步意味着浏览器的刷新、前进、后退都可以作用到子应用上
22 |子应用同步路由到主应用url的query参数上且 key值为子应用的name
23 |当用户访问location来获取当前的url时,wujie统一拦截并回填子应用正确的地址
25 |{window.location.host}
27 |子应用修改location.href,会将当前的子应用的shadow删除并且替换成一个iframe
33 |如果子应用配置路由同步,浏览器可通过回退回到子应用
34 |设置保活模式,切换应用时,子应用的路由和state都可以得到保留
21 |23 | 24 | {this.state.count} 25 | 26 | 35 |
36 |