index.html>
Код: Выделить всё
Content
Код: Выделить всё
class MyClass {
constructor(element)
{
this.component = element;
}
hideElement()
{
this.component.classList.add('hidden');
}
}
let myDiv = new MyClass(document.getElementById("myDomObject");
main2.js
class MySecondClass {
constructor(element)
{
this.component = element;
this.addClickEvent(some_button);
}
addClickEvent(element)
{
element.addEventListener('click', function()
{
document.getElementById("myDomObject").classList.add('hidden');
}
}
}
let myButton = new MySecondClass('some-button');
< /code>
Не похоже на то, чтобы воссоздать один и тот же метод снова и снова в каждом из моих классов, просто чтобы повторить метод исходного класса. Это не очень сухо. Что я хотел бы сделать, так это назвать метод «скрыть» этого исходного класса < /p>
Я попробовал это, как ниже < /p>
class MySecondClass {
constructor(element)
{
this.component = element;
this.addClickEvent(some_button);
this.domObject = new MyClass(document.getElementById("myDomObject");
}
addClickEvent(element)
{
element.addEventListener('click', function()
{
this.domObject.hide();
}
}
}
< /code>
Это, очевидно, создает несколько экземпляров основного класса. Если у меня есть десять других классов, я буду называть эти десять классов, а затем десять случаев основного класса. Слушатели событий добавляются в объект DOM в десять раз и т. Д.>
Подробнее здесь: https://stackoverflow.com/questions/794 ... ther-class
Мобильная версия