El valor de asignación de clase '@' del contenido del bloque cambia a signo '-' al usar literales plantilla
Actualizaré la función de escape, por ahora puedes proporcionar la tuya propia a través de esta opción
Lee la respuesta completa abajo ↓Pregunta
Versión GrapesJS
- Confirmo que se debe usar la última versión de GrapesJS
¿Qué navegador usas?
Firefox 108.0.2
Enlace de demo reproducible
No es posible en JSFIDDLE
Describe el bicho
grapesjs-cli - 3.0.1 grapesjs - 0.20.3
¿Cómo reproducir el bicho?
- añadir un newblock con este literal de plantilla con un atributo de clase que contenga un signo '@'
'''js
bm.add('foo', {
etiqueta: 'Foo',
Contenido: '
<div class="uk-width-1-2@m">
<div>Algunos textos</div>
</div>
`, });
2. arrastra el bloque hacia el área de trabajo
3. Se creará el siguiente elemento 'div':
'''js
<div data-gjs-highlightable="true" id="igof" data-gjs-type="default" draggable="true" class="uk-width-1-2-m">
<div data-gjs-highlightable="true" id="is7o" data-gjs-type="text" draggable="true" class="">
Algunos textos
</div>
</div>
-
Otra posibilidad de reproducción: abrir el código con la herramienta 'Importar' y cambiar un atributo 'class' para que contenga un signo '@'. Guárdatelo. Y luego, cuando vuelves a abrir el diálogo 'Importar plantilla', el signo '@' se reemplaza por uno de '-'
-
PROBLEMA: ver la 'clase' en la primera 'división'...
¿Cuál es el comportamiento esperado? El valor del atributo no debería cambiar, así que debería permanecer con el signo '@': '<div ... class="uk-width-1-2@m">'
¿Cuál es el comportamiento actual? Cambia el '@' Sihn por un '-': '<div ... class="uk-width-1-2-m">'
Si es necesario ejecutar algo de código para reproducir el error, pégalo aquí abajo:
'''js
bm.add('foo', {
etiqueta: 'Foo',
Contenido: '
<div class="uk-width-1-2@m">
<div>algunos text@</div>
</div>
`,
});
### Código de conducta
- [X] Acepto seguir el Código de Conducta de este proyecto
Respuestas (2)
Actualizaré la función de escape, por ahora puedes proporcionar la tuya propia a través de esta opción
Gracias por informar de esto, @agreif.
Buena pregunta sobre '@' valor de asignación de clase en el contenido del bloque que cambia a signo '-' al usar literales de plantilla. El enfoque recomendado con GrapesJS es usar 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 #6180
El método 'setValue()' de Trait no se llama cuando cambia el valor
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Última versión de Chrome Enlace de demo r...
Issue #5442
Después de aplicar el color del texto, no se puede establecer el color de fondo
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Chrome Enlace de demo reproducible https:...
Issue #4506
Error en el bloque de arrastre con modo de arrastre: absoluto
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Chrome v103 Enlace de demo reproducible h...
Issue #4148
0.18.2 / 0.18.3 elimina todo activo... Atributos HTML cuando el bloque se arrastra y solta en el constructor
Versión GrapesJS[X] Confirmo que se debe usar la última versión de GrapesJS¿Qué navegador usas? Chrome v99Enlace de demo reproducible https...
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.