Всем привет, к сожалению не могу до конца понять этот 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 по каким то мне неизвестным причинам не доступен...