移动端微应用中用Vue动态组件挂载子页面的核心是“按需加载+条件挂载+生命周期可控”,需约定挂载点、延迟挂载、异步组件加载、<keep-alive>粒度缓存及与宿主的路由通信和生命周期协同。
在移动端微应用中用 Vue 动态组件挂载不同业务子页面,核心是“按需加载 + 条件挂载 + 生命周期可控”。不是简单切换组件名,而是要兼顾资源隔离、状态保留、路由联动和轻量启动。
微应用通常运行在宿主容器(如壳App或主站 WebView)中,不能直接操作 #app。需约定统一挂载点(如 div#micro-app-container),并在初始化时检查该节点是否存在,不存在则动态创建并插入 body 底部。
mountSelector: '#order-page')MOUNT_ORDER_PAGE 指令触发挂载子页面不应提前全部 import,而应配合 webpack 或 Vite 的 dynamic import 实现懒加载。Vue 会自动将返回的 Promise 解析为异步组件。
const pageMap = { order: () => import('./pages/OrderPage.vue'), pay: () => import('./pages/PayPage.vue') }
<component :is="currentPage" />,其中 currentPage 是 Promise 组件或已解析的组件对象<Suspense>(Vue 3)显示 loading 状态,避免白屏移动端内存敏感,不能无差别缓存所有子页。应结合业务逻辑控制哪些页需要保活(如订单填写页),哪些页每次重新渲染(如营销活动页)。
<keep-alive> 加 include 白名单:<keep-alive :include="['OrderPage', 'AddressPage']>
activated/deactivated 钩子同步页面可见状态,暂停定时器、断开 WebSocket 等beforeUnmount 中手动清理 localStorage 临时数据微应用不独立管理 URL,需响应宿主下发的路由参数,并上报自身状态。
window.addEventListener('message', e => { if (e.data.path === '/pay') setCurrentPage('pay') })
window.parent.postMessage({ type: 'PAGE_READY', page: 'order' }, '*')
归环养成系统简介 归环角色养成一览讲了什么-主要信息和内容重点
归环手游安卓手机版女仆咖啡厅任务怎么完成怎么做-任务条件和触发条件
tplink路由器网关怎么设置(tplink路由器网关设置方法)
归环手游安卓手机版无伤单通极乐圣灵怎么玩怎么操作-完整流程和注意点
归环灵光一闪是什么 归环灵光一闪及其他技能信息分享是什么-概念边界和适用条件
家里的tplink路由器老是拒绝接入怎么解决(家里的tplink路由器老是拒绝接入解决方法)