Usa una función de cuña para componentes que usan función script (no cadena)
¿No sería posible usar un enfoque así, para mantener el alcance? No, porque intentas mezclar el alcance del entorno del editor con el que se desplegará al usuario final (que no tiene nada que ver con el editor, él solo puede ver el HTML/CSS/JS final). Intenta investigar este número: https://github.com/artf/grapesjs/is...
Lee la respuesta completa abajo ↓Pregunta
El enfoque actual que convierte el script de un componente en texto antes de colocarlo en el documento es bastante limitante. ¿No sería posible usar un enfoque así, para mantener el alcance?
Pon la función en la ventana y usa una función de cuña en el componente en su lugar.
original código: '''js var myVar = 'Juan';
editor. BlockManager.add('test-block', { ... script: función () { alert('Hi ' + myVar); console.log('el elemento', esto); }, ... });
_follows mi sugerencia:_
_function detectado (como función y no como cadena), usemos una cuña:_
globalThis['test-block'] = identificadorDeTheTestBlockComponent.script
'''html
<div id="c764"></div>
<script>
var items = document.querySelectorAll('#c764');
para (var i = 0, len = items.length; i < len; i++) {
(ventana['test-block'].bind(elementos[i]))();
}
</script>
mencionado originalmente en una prensa aquí https://github.com/artf/grapesjs/pull/2479#issuecomment-569628660
Respuestas (1)
¿No sería posible usar un enfoque así, para mantener el alcance?
No, porque intentas mezclar el alcance del entorno del editor con el que se desplegará al usuario final (que no tiene nada que ver con el editor, él solo puede ver el HTML/CSS/JS final).
Intenta investigar este número: https://github.com/artf/grapesjs/issues/2181
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #5232
Trabajador - Sin interfaz de texto "documento no está definido"
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? 114.0.5735.133 Enlace de demo reproducibl...
Issue #908
[SOLICITUD DE FUNCIÓN] Añadir clases personalizadas a paneles y otros elementos del editor
Cuando usas un framework de interfaz que proporciona clases personalizadas, sería bueno poder usar estas clases en cosas como paneles, para...
Issue #3392
HAZAÑA: Permitir una configuración dinámica droppable usando una función
Tengo un requisito que me permite usar selectores para determinar si un elemento es soltable. Por ejemplo: ! imagen El componente "hijo" de...
Issue #761
Problema de componentes de texto
Hola. Ojalá tuviera un componente de texto que no cree nuevos componentes cada vez que pulso la tecla "Enter" para crear nuevos párrafos (e...
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 →Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.