Issue #395💬 RespondidoAbierto el 9 de octubre de 2017por suchithmahadiReacciones 0

Cómo llamar a una función que está fuera del componente en la función de script de un componente.

Respuesta rápidapor artf

Aquí encontrarás la respuesta #358

Lee la respuesta completa abajo ↓

Pregunta

Fragmento de códigoTEXT
Por favor, ayudadme a resolver el problema que se muestra a continuación.
Cómo llamar a una función que está fuera del componente en la función de script de un componente.
Ejemplo:
la función demo.myFunction debería llamarse en un script de componentes, pero script no puede reconocer la variable demo. Mientras que demo.myFunction puede llamarse a función de iniciación.

grapesjs.plugins.add('my-plugin', function(editor, options) {

var demo = {
            this.myFunction(id){
            alerta(this.id);
        }
    }

var domComponents = editor. Jefe de bloque;
    domComponents.add('my-block', {
        id: 'myComp',
        etiqueta: 'Personalizado',
        Categoría: 'Plugin',
        atributos: {
            Clase: 'fa fa-square-o'
        },
        estilo: {
            Relleno: '100px'
        },
        Contenido: {
            tipo: 'miComp'
        }
    });

VAR Comps = Editor. DomComponents;

var defaultType = comps.getType('default');
    var defaultModel = defaultType.model;
    var defaultView = defaultType.view;

comps.addType('myComp', {
        model: defaultModel.extend({
                init(){
                    Funcionando bien
                    demo.myFunction(this.id);
                },

defaults: Object.assign({}, defaultModel.prototype.defaults, {
                    removible: cierto,
                    Arrastrable: Cierto,
                    estilo: {
                        'color de fondo':'amarillo',
                    },
                    Editable: Cierto,
                    Copiable: Cierto,
                    Badgable: Cierto,
                    Resaltable: Cierto,
                    redimensionable: cierto,
                    Droppable: Cierto,
                    contenido: '<SVG style="width:90%;">
                    ',</svg>
                    script: function() {
                        console.log(este);
                        No funciona
                        demo.myFunction(this.id);
                    },

})
            },
        Definir la vista
        view: defaultType.view.extend({
            render: function() {
                defaultType.view.prototype.render.apply(esto, argumentos);
                devuelvo esto;
            },
        }),
    });
})

Gracias.

Respuestas (2)

artf9 de octubre de 2017

Aquí encontrarás la respuesta #358

lock[bot]18 de septiembre de 2019

Este hilo se ha bloqueado automáticamente porque no ha habido actividad reciente desde que se cerró. Por favor, abre un nuevo problema para bugs relacionados.

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 →

Tutoriales relacionados

Guías detalladas sobre el mismo tema.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.