@symnoob

Может кто помочь разобраться с классами и импортами в JavaScript?

Всем привет, к сожалению не могу до конца понять этот Javascript и как он работает.

Я имею в виду ооп и импорты...
К примеру есть у меня простой класс:

import {Modal} from 'bootstrap'

class ModalForms {

    constructor() {
        this.modalFormLink = document.querySelector('.modalFormLink')
        this.initActions(this);
    }

    initActions(self) {
        [...document.getElementsByClassName("modal-form")].forEach(
            (element, index, array) => {
                element.addEventListener('click', (event) => {
                    self.openModal(event, self)
                })
            }
        );
    }

    openModal(event, self) {
        event.preventDefault();
        let modalElement = document.querySelector('.modal');
        let modalElementLink = event.currentTarget.href

        let modal = new Modal(modalElement);

        $.ajax(modalElementLink).done(
            (data) => {
                let modalContent = new DOMParser().parseFromString(data, 'text/html').querySelector('.modal-content');
                modalElement.querySelector('.modal-dialog').childNodes.item(0).remove();
                modalElement.querySelector('.modal-dialog').appendChild(modalContent);
            }
        )

        modal.show();
    }
}

new ModalForms()


тут вроде не чего особенного просто, устанавливается событие на клик подгружается контент всё это дело открывается в модальном окне.

но теперь охота расширить это дело разными фишками, ну например подгружается форма и в полях выбора (Select input) охота привинтить такую фишку как Select2 , но залез в документацию и все примеры только под jQuery и выглядят примерно так: $(какой то селектор).select2();

Так как использовать такие вещи когда работаешь с классом?

import select2 from 'select2';

а потом в своём методе document.getElementById('мойID').select2(); не работает, так как в методе этот импортированный select2 по каким то мне неизвестным причинам не доступен...
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
Инициализировать всегда, когда обновляется html.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
17 июн. 2021, в 22:01
35000 руб./за проект
17 июн. 2021, в 20:24
22000 руб./за проект
17 июн. 2021, в 20:23
5000 руб./за проект