Cómo escuchar los cambios de los componentes en un componente.
tampoco conseguí que funcionara. Error leyendo componentes() al configurar el listenTo. La etiqueta está vacía (sin contenido dentro) en el init, así que tiene sentido. olvídalo... Lo hacía en la entrada del modelo en vez de en la vista. '''Manuscrito mecanografiado init() { hijos const = this.model.components(); this...
Lee la respuesta completa abajo ↓Pregunta
init() { this.listenTo(this.model,'change:components', this.handleComponentsChange); },
Desarrollo un componente, intento escuchar cómo cambian los componentes hijos, luego añado el código anterior para ver el componente, pero la función no se activa al añadir o eliminar componentes.
¿cómo puedo escuchar cómo cambian los componentes en una vista de componentes?
¡Gracias
Respuestas (4)
tampoco conseguí que funcionara. Error leyendo componentes() al configurar el listenTo. La etiqueta está vacía (sin contenido dentro) en el init, así que tiene sentido.
olvídalo... Lo hacía en la entrada del modelo en vez de en la vista.
'''Manuscrito mecanografiado
init() {
hijos const = this.model.components();
this.listenTo(niños, 'añadir remove', this.handleComponentsChange);
},
Esto funcionó después de ponerlo en la :) de inicio correcto
La colección de componentes no cambia, por eso no se activa ningún evento.
El backend de almacenamiento es una colección Backbone, véase aquí. Tienes que escuchar sus eventos, específicamente 'añadir' y 'eliminar'.
Como ya mencionó Andreas, tienes que añadir un oyente a la colección. '''js init() { hijos const = this.model.components(); this.listenTo(niños, 'añadir remove', this.handleComponentsChange); },
Gracias por informar de esto, @jcsofts.
Buena pregunta sobre cómo escuchar el cambio de componentes en un componente.. El enfoque recomendado con Componentes es utilizar la API orientada a eventos.
Empieza aquí:
- Consulta la documentación de GrapesJS de tu módulo específico
- Busca el método del oyente de eventos 'on()'
- La mayoría de las operaciones se pueden realizar escuchando eventos del editor y de los componentes
Patrones comunes: '''javascript Prestad atención a los cambios editor.on('Change', () => console.log('Something Changed'));
Ciclo de vida de los componentes editor.on('component:mount', (c) => console.log('component ready', c)); editor.on('component:update', (c) => console.log('component updated', c));
**Si sigues atascado:**
- Compartir una reproducción mínima de CodeSandbox
- Incluye lo que ya has probado
- Menciona tu versión GrapesJS
- ¡La comunidad está aquí para ayudar!
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #3627
[PREGUNTA]: Estoy intentando duplicar la página, pero los estilos no se aplican debido a los IDs, cambios a -2,-3 al final.
'''javascript const duplicatePage = (editor) => { sea components = editor.getHtml(); sea css = editor.getCss(); sea newPage = editor. Pages...
Issue #3447
Los JavaScript no funcionan debido a un problema de codificación
1 - Copié el código de componentes de texto mecanografado en lugar de código HTML de demostración; 2 - Y añadido allowScripts: 1; Puedes ve...
Issue #3694
Pregunta: Los cambios dinámicos desaparecen al cargarse desde la base de datos
@artf Aquí está mi código, estoy añadiendo test en una división al seleccionar el cambio init() { this.listenTo(this, "change:noOfLinks", t...
Issue #3512
Los elementos hijos no se pueden arrastrar, se pueden soltar y se pueden resaltar. también el CSS de todos los elementos hijos que no se insertan en la sección de estilo mientras se desarrolla un componente banner en un plugin
Hola @artf, Estoy intentando desarrollar un plugin sencillo para banners que incluya un encabezado, un subtítulo y un enlace. y cada elemen...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Tutoriales relacionados
Guías detalladas sobre el mismo tema.
Tutorial
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
Tutorial
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins — TinyMCE Inline Text Editor and Placeholder.
Tutorial
Find the Right GrapesJS Plugin in Seconds: Smarter Discovery Is Live
We're shipping a set of discovery upgrades. New label filters, a proper compatibility switch for GrapesJS vs Studio, one-click and a smarter sort bar.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.