Ciclo de vida

Ciclo de vida global

  • Starting: Inicialización, antes de crear unidades de negocio.
  • Ready: Se ha creado la primera unidad; las siguientes no vuelven a activar esta etapa.
  • Rendered: La UI estándar ha realizado su primer cambio de renderizado, sin garantizar todo el contenido asíncrono.
  • Steady: La UI estándar entra tras un retraso después de Rendered, sin esperar todas las tareas asíncronas.

API de Facade

TypeScript
const currentStage = univerAPI.getCurrentLifecycleStage()const disposable = univerAPI.addEvent(univerAPI.Event.LifeCycleChanged, ({ stage }) => {  console.log(stage)})

Qué comunica el evento

LifeCycleChanged comunica la etapa global de Univer. Por ejemplo, cargar B después del Ready global llama a su onReady(), pero no emite otro evento global Ready.

Al añadir un listener, su callback puede recibir inmediatamente la etapa actual, incluido Starting. Para consultar la etapa actual, llame directamente a univerAPI.getCurrentLifecycleStage().

Para eliminar un oyente, puede usar el objeto disposable devuelto:

TypeScript
disposable.dispose()

Hooks del ciclo de vida de plugins

Un plugin ejecuta onStarting() al cargarse y luego alcanza la etapa global actual. Elija cuándo cargar B para comparar sus llamadas con las de A.

Cargar B en · Rendered
StartingGlobalPlugin ASin cargarCargarStartingReadyRenderedSteadyPlugin BSin cargarCargarStartingReadyRenderedSteady
Global: StartingGlobal: Starting · 1 / 14

Reproducción lenta para mostrar las llamadas síncronas.

Los plugins generales se cargan al registrarse; los de negocio, normalmente antes de construir la primera unidad de su tipo. Los añadidos a un tipo ya iniciado se cargan en un lote diferido. Las dependencias explícitas pueden adelantar la carga.

Cada lote llama a los hooks síncronamente, por etapa y en orden de dependencias, sin esperar tareas asíncronas. Compruebe cada unidad, elemento DOM o recurso antes de acceder a él.

¿Cómo es esta guía?

© 2026 DreamNum Co., Ltd.