Aviso de tradução por IA
Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
ctx.on()
Inscreva-se em eventos de contexto (como mudanças de valor de campo, mudanças de propriedade, atualização de recursos, etc.) no RunJS. Os eventos são mapeados para eventos DOM personalizados em ctx.element ou eventos do barramento interno de ctx.resource com base em seu tipo.
Cenários de uso
Definição de Tipo
Eventos Comuns
Regra de mapeamento de eventos: Eventos com o prefixo
resource:passam porctx.resource.on, enquanto outros geralmente passam por eventos DOM emctx.element(se existir).
Exemplos
Vínculo bidirecional de campo (React useEffect + Limpeza)
Escuta de DOM nativo (Alternativa quando ctx.on não está disponível)
Atualizando a UI após a atualização do recurso
Coordenação com ctx.off
- Os ouvintes (listeners) registrados usando
ctx.ondevem ser removidos no momento apropriado via ctx.off para evitar vazamentos de memória ou disparos duplicados. - No React, o
ctx.offé geralmente chamado dentro da função de limpeza (cleanup) douseEffect. - O
ctx.offpode não existir; recomenda-se usar o encadeamento opcional (optional chaining):ctx.off?.('eventName', handler).
Observações
- Cancelamento em par: Cada
ctx.on(eventName, handler)deve ter umctx.off(eventName, handler)correspondente, e a referência dohandlerpassada deve ser idêntica. - Ciclo de vida: Remova os ouvintes antes que o componente seja desmontado ou o contexto seja destruído para evitar vazamentos de memória.
- Disponibilidade de eventos: Diferentes tipos de contexto suportam eventos diferentes. Consulte a documentação específica do componente para mais detalhes.
Documentação Relacionada
- ctx.off - Remover ouvintes de eventos
- ctx.element - Contêiner de renderização e eventos DOM
- ctx.resource - Instância de recurso e seus métodos
on/off - ctx.setValue - Define o valor do campo (dispara
js-field:value-change)

