@denis2601

Как правильно построить плагин JS ES6 с событиями?

Толи гуглю не правильно, не могу разобраться
Задача: нужно что бы было как в Swiper.js
new myPlugin("#element", {
    option1: false,
    option2: 600,
    onEvent: arr => {
        console.log(arr)
    }
});


начал писать:
class myPlugin {
    constructor(element, options) {
        this.element = element
        this.options = Object.assign({}, {
            option1: false,
            option2: 600
        }, options)

        //return this.onEvent(this.options);
    }

    onEvent(array) {
        console.log(array)
    }
}

но что-то я не могу найти ответ, как мне возвращать что либо в onEvent
P.S. Буду благодарен за какие либо дополнительные статьи
  • Вопрос задан
  • 35 просмотров
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Самый простой вариант:
class myPlugin {
    constructor(element, options) {
        this.element = element
        this.options = Object.assign({}, {
            option1: false,
            option2: 600
        }, options)
    }

  testMyEvent(){
    if (typeof this.options.onEvent === 'function') {
      this.options.onEvent(this.element, 123, this.options /* что угодно */);
    }
  }
}


const plugin = new myPlugin("#element", {
    option1: false,
    option2: 600,
    onEvent: (element, num, opts) => {
        console.log(element, num, opts)
    }
});

plugin.testMyEvent();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы