当前位置: 首页 > article >正文

micro-app【微前端系列教程】生命周期

子应用渲染过程中会触发相应的生命周期事件

生命周期事件名称触发时机
created标签初始化后,加载资源前
beforemount加载资源完成后,开始渲染之前
mounted子应用渲染结束后
unmount子应用卸载时
error子应用加载出错时(只有会导致渲染终止的错误才会触发)

vue 中监听生命周期事件

<template>
  <micro-app
    name='xx'
    url='xx'
    @created='created'
    @beforemount='beforemount'
    @mounted='mounted'
    @unmount='unmount'
    @error='error'
  />
</template>

<script>
export default {
  methods: {
    created () {
      console.log('micro-app元素被创建')
    },
    beforemount () {
      console.log('即将渲染')
    },
    mounted () {
      console.log('已经渲染完成')
    },
    unmount () {
      console.log('已经卸载')
    },
    error () {
      console.log('加载出错')
    }
  }
}
</script>

react 中监听生命周期事件

<micro-app>标签所在的文件顶部添加polyfill,注释也要复制。

/** @jsxRuntime classic */
/** @jsx jsxCustomEvent */
import jsxCustomEvent from '@micro-zoe/micro-app/polyfill/jsx-custom-event'
<micro-app
  name='xx'
  url='xx'
  onCreated={() => console.log('micro-app元素被创建')}
  onBeforemount={() => console.log('即将渲染')}
  onMounted={() => console.log('已经渲染完成')}
  onUnmount={() => console.log('已经卸载')}
  onError={() => console.log('加载出错')}
/>

手动监听生命周期事件

const myApp = document.querySelector('micro-app[name=my-app]')

myApp.addEventListener('created', () => {
  console.log('created')
})

myApp.addEventListener('beforemount', () => {
  console.log('beforemount')
})

myApp.addEventListener('mounted', () => {
  console.log('mounted')
})

myApp.addEventListener('unmount', () => {
  console.log('unmount')
})

myApp.addEventListener('error', () => {
  console.log('error')
})

全局监听

在每个子应用的生命周期执行时都会触发。

import microApp from '@micro-zoe/micro-app'

microApp.start({
  lifeCycles: {
    created (e, appName) {
      console.log(`子应用${appName}被创建`)
    },
    beforemount (e, appName) {
      console.log(`子应用${appName}即将渲染`)
    },
    mounted (e, appName) {
      console.log(`子应用${appName}已经渲染完成`)
    },
    unmount (e, appName) {
      console.log(`子应用${appName}已经卸载`)
    },
    error (e, appName) {
      console.log(`子应用${appName}加载出错`)
    }
  }
})

全局事件

在子应用的加载过程中,micro-app会向子应用发送一系列事件,包括渲染、卸载等事件。

监听子应用的渲染事件

window.onmount = (data) => {
  console.log('子应用已经渲染', data)
}

监听子应用的卸载事件

window.onunmount = () => {
  // 执行卸载相关操作
  console.log('子应用已经卸载')
}

window.addEventListener('unmount', function () {
  // 执行卸载相关操作
  console.log('子应用已经卸载')
})

http://www.kler.cn/a/488395.html

相关文章:

  • sql server cdc漏扫数据
  • STM32供电参考设计
  • n 维数组(张量)关于轴 axis 的理解
  • 如何让用户在网页中填写PDF表格?
  • apex安装
  • PyCharm简单调试
  • JVM远程调试原理剖析
  • Apache XMLBeans 一个强大的 XML 数据处理框架
  • 【LLM文本分类微调】骚扰邮件分类
  • day 36 tcp协议粘包问题 http协议
  • 定时器中断方式
  • VUE + pdfh5 实现pdf 预览,主要用来uniappH5实现嵌套预览PDF
  • openGauss系列 --启动和停止服务器
  • Garnet:微软官方基于.Net 8开源缓存系统,可无需任何改动直接替代Redis,而且还更高性能!
  • S变换matlab实现
  • 2025 最新React面试题
  • 【ASP.NET学习】Web Forms创建Web应用
  • Moq与xUnit在C#单元测试中的应用
  • 比亚迪夏直插家用MPV腹地,“迪王”开启全面销冠新征程
  • 观察者模式详解
  • HTTP-响应协议
  • React Context用法总结
  • Rancher运维三板斧:告警设置、日志管理与数据备份恢复
  • 走进 JavaScript 世界:掌握核心技能
  • Golang中使用 Mqtt
  • 计算机网络 笔记 数据链路层 2