框架使用保活方式引用子页面
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"
})
})
}