Aviso de traducción IA
Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.
ctx.on()
Suscríbase a eventos de contexto (como cambios en el valor de los campos, cambios de propiedades, actualizaciones de recursos, etc.) en RunJS. Los eventos se mapean a eventos DOM personalizados en ctx.element o al bus de eventos interno de ctx.resource según su tipo.
Escenarios de uso
Definición de tipo
Eventos comunes
Reglas de mapeo de eventos: Los eventos con el prefijo
resource:pasan porctx.resource.on, mientras que los demás suelen pasar por eventos DOM enctx.element(si existe).
Ejemplos
Vinculación bidireccional de campos (React useEffect + Limpieza)
Escucha de DOM nativo (Alternativa cuando ctx.on no está disponible)
Actualización de la interfaz de usuario tras la actualización del recurso
Coordinación con ctx.off
- Los escuchadores registrados mediante
ctx.ondeben eliminarse en el momento adecuado a través de ctx.off para evitar fugas de memoria o activaciones duplicadas. - En React,
ctx.offse llama habitualmente dentro de la función de limpieza deuseEffect. ctx.offpodría no existir; se recomienda utilizar el encadenamiento opcional:ctx.off?.('eventName', handler).
Notas
- Cancelación emparejada: Cada
ctx.on(eventName, handler)debe tener unctx.off(eventName, handler)correspondiente, y la referencia delhandlerpasada debe ser idéntica. - Ciclo de vida: Elimine los escuchadores antes de que el componente se desmonte o el contexto se destruya para evitar fugas de memoria.
- Disponibilidad de eventos: Los diferentes tipos de contexto admiten eventos distintos. Consulte la documentación específica de cada componente para obtener más detalles.
Documentación relacionada
- ctx.off - Eliminar escuchadores de eventos
- ctx.element - Contenedor de renderizado y eventos DOM
- ctx.resource - Instancia de recurso y sus métodos
on/off - ctx.setValue - Establecer el valor del campo (activa
js-field:value-change)

