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
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:
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.
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?