Issue #2367○ AbiertoAbierto el 1 de noviembre de 2019por pouyamiralayiReacciones 0

Objetos en interpolaciones de scripts

Pregunta abierta

Aún no hay respuestas de la comunidad. Abre la discusión original en GitHub para compartir tu solución.

Pregunta

Describe el error (esto no ocurre en la última versión, este problema no es válido).

Supongamos que tenemos una propiedad en nuestro modelo de componente que es un objeto. luego intenta interpolar esta propiedad en script: lo que obtendrás es una cadena '[objeto Objeto]'.

Pasos para reproducir el comportamiento

  1. Crear un tipo de componente personalizado.
  2. Dentro del modelo, crea una propiedad como esta: ''Test:{a:1,b:2}''
  3. Dentro del modelo, crear una función de script.
  4. Dentro de la función script, crea una variable así: ''const test = '{[ test ]}'''
  5. log el valor analizado: ''console.log(JSON.parse(test))''
  6. se mostrará un error respecto al análisis sintáctico JSON.

Comportamiento esperado: la interpolación de una propiedad de objeto nos daría una cadena JSON que puede analizarse para lograr el objeto original.

Fragmentos de código: basado en la operación de aquí estamos usando ''JSON.stringify'' para los tipos de array y objetos. Así que, como algo como ''console.log(JSON.parse(JSON.stringify({a:1,b:2}))'' funciona, esperamos los mismos resultados aquí. Aunque podríamos superar este escenario usando plantillas etiquetadas, la forma en que transformamos las funciones de script en cadenas anulará el comportamiento original de los literales de la plantilla:

-- esto no es posible dentro del guion --

plantilla de función(chunks, ... interpolaciones) {

console.log(fragmentos);          // ['1 ', ' 3']
  console.log(interpolaciones);  // [2]
}

plantilla '1 ${2} 3';

¡Salud!

Respuestas (0)

Aún no hay respuestas.

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

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 →
Opción premium

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.