使用无界微前端框架遇到的有趣的玄学现象

框架使用保活方式引用子页面

1.在我子应用页面里的二级页面的返回操作用的是 history.back 方法,

在使用过程中浏览器回退和子页面页面返回操作偶发性的出现无法正常回退到一级页面的情况(点一次停留在次级页,点两次回退到主应用,再次进入子应用也还在次级页),

于是我利用deactivated(离开子应用)生命周期通知子应用强行回到首页,但是子页面加入监听且加上页面跳转后无法回退的bug消失了,

注释掉子应用的跳转或监听这个bug又会重现

果然,科学的尽头是玄学

主应用代码

<script lang="ts" setup>
import WujieVue from "wujie-vue3";
const { bus, setupApp, preloadApp, destroyApp } = WujieVue;

function beforeLoad() {
	console.log('beforeLoad')
}
function beforeMount() {
	console.log('beforeMount')
}
function afterMount() {
	console.log('afterMount')
}
function beforeUnmount() {
	console.log('beforeUnmount')
}
function afterUnmount() {
	console.log('afterUnmount')
}
function activated() {
  bus.$emit('activated')
	console.log('activated')
}
function deactivated() {
  bus.$emit('deactivated')
	console.log('deactivated')
}
function loadError(e: Error) {
	console.log(e)
}

function routerChange(value: { path: string; query: any }) {
	console.log('routerChange: ')
	console.log(value)
}
</script>
<style lang="scss" scoped></style>

子应用代码

// // 微前端操作
			if (window.__POWERED_BY_WUJIE__) {
				$wujie.bus.$on("deactivated",()=>{
					console.log("toLogin")
					uni.reLaunch({
						url:"/pages/index/index?toHome=1"
					})
				})
			}

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值