Issue #2239💬 RespondidoAbierto el 3 de septiembre de 2019por Ramkumar-MurugesanReacciones 1

Interpolación de script para objeto [PREGUNTA]

Respuesta rápidapor artf1

Los objetos/arrays @Ramkumar-Murugesan aún no están soportados, los añadiremos en la próxima versión. Por ahora, si necesitas un objeto/array en el script, crea otra propiedad con una versión JSON.stringify del original (pon un oyente en el original para actualizar el stringified)

Lee la respuesta completa abajo ↓

Pregunta

Hola a todos, Sé que usamos valores de cadena externos en la función script asignando la variable con valor en triatos personalizados. pero intenté pasar el objeto o el array. No conseguí los valores correctos. Me he quedado atascado con ella, ¿alguien puede ayudarme, por favor?

Mis rasgos:-

 comps.addType(buttonName, {
      model: defaultModel.extend({
        defaults: Object.assign({}, defaultModel.prototype.defaults, {
          arrastrable: '*',
          Droppable: falso,
          myModelCount: 5,
          miModeloNombreProp: { nombre: 'age' },
          script: función () {
            const first = '{[ miNombrePropModelo ]}';
            prueba const = JSON.stringify(primero);
            console.log('pantallas la variable global ----333-- ', JSON.parse(test));
            const mycount = '{[ myModelCount ]}';
            const initAgGrid = () => {

console.log('dentro de -----', mi conde);
              const columnDefs = [];
              para (sea i = 0; i < 5; i++) {
                console.log(' por loopppp ----- ', i);
              }
              const columnDefs = [
                {
                  NombreEncabezado: 'A',
                  Campo: 'A',
                  Sortable: Cierto,
                  colId: 'col1_id'
                },
                {
                  NombreEncabezado: 'B',
                  Field: 'b.name',
                  Sortable: Cierto,
                  colId: 'col2_id'
                },
                {
                  Nombre del encabezado: 'C',
                  FIELD: 'c.name',
                  Sortable: Cierto,
                  colId: 'col3_id'
                },
                {
                  Nombre de cabecera: 'D',
                  Field: 'd.name',
                  Sortable: Cierto,
                  colId: 'col4_id'
                },
                {
                  NombreEncabezado: 'E',
                  FIELD: 'e.name',
                  Sortable: Cierto,
                  colId: 'col5_id'
                }
              ];

function createRowData() {
                const rowData = [];
                para (sea i = 0; i < 100; i++) {
                  crear ejemplo de elemento de fila
                  const rowItem = {
                    es simple
                    a: 'aa' + Math.floor(Math.random() * 10000),
                    Pero B, C, D y E son todos objetos complejos
                    b: {
                      nombre: 'bb' + Math.floor(Math.random() * 10000)
                    },
                    c: {
                      nombre: 'cc' + Math.floor(Math.random() * 10000)
                    },
                    d: {
                      nombre: 'dd' + Math.floor(Math.random() * 10000)
                    },
                    e: {
                      nombre: 'ee' + Math.floor(Math.random() * 10000)
                    },
                    f: {
                      nombre: 'ee' + Math.floor(Math.random() * 10000)
                    }
                  };
                  rowData.push(rowItem);
                }
                return rowData;
              }
              this.gridOptions = {
                defaultColDef: {
                  Editable: Cierto
                },
                columnDefs: columnDefs,
                rowData: createRowData(),
                componentes: {
                  boldRenderer: function (params) {
                    regresa '<b>' + params.value.name + ''</b>;
                  }
                },
                onGridReady: función (params) {
                  params.api.sizeColumnsToFit();

window.addEventListener('resize', function () {
                    setTimeout(función () {
                      params.api.sizeColumnsToFit();
                    });
                  });
                },
                paginaciónAutoPáginaTamaño: cierto,
                Paginación: Cierto,
              };
              const gridDiv = document.querySelector('#myGrid');
              tslint:desactivar-línea-siguiente:no-un-expression-
              nuevo agGrid.Grid (gridDiv, this.gridOptions);
              this.gridOptions.cacheQuickFilter = false;
              this.gridOptions.api.sizeColumnsToFit();
            };
            Sea existe = falso;
            const url = 'https://unpkg.com/[email protected]/dist/ag-grid-community.min.js';
            scripts const = document.getElementsByTagName('script');
            para (sea i = scripts.length; i--;) {
              if (scripts[i].src === URL) {
                existe = verdadero;
              }
            }
            si (existe) {
              initAgGrid();
            } else {
              const script = document.createElement('script');
              script.onload = initAgGrid;
              script.src = URL;
              document.body.appendChild(script);
            }
          },
          Rasgos: [{}]
}),

Capturas de pantalla ! imagen

en la captura de pantalla anterior. El valor myModelCount se imprime, pero el valor myModelPropName muestra [objeto, objeto] dentro de la función script.

Respuestas (1)

artf5 de septiembre de 2019

Los objetos/arrays @Ramkumar-Murugesan aún no están soportados, los añadiremos en la próxima versión. Por ahora, si necesitas un objeto/array en el script, crea otra propiedad con una versión JSON.stringify del original (pon un oyente en el original para actualizar el stringified)

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.