@Kristina2019

Как правильно переписать конструктор в класс?

Есть класс который вызывает модалку и при клике на owerlay скрывает ее
var MyFavorit = function(obj) {
        this.banner = document.querySelector(obj.banner);
        this.base = document.querySelector(obj.base)
    
        var myfavorit = this;
    
        this.open = function (content) {
            myfavorit.banner.innerHTML = content;
            myfavorit.banner.classList.add("open")
            myfavorit.base.classList.add("open")
        }
    
        this.close = function() {
            myfavorit.banner.classList.remove("open")
            myfavorit.base.classList.remove("open")
        }
    
        this.base.onclick = myfavorit.close
    
    }

Все что внутри конструктора легко переписывается в классы

class MyFavoritClass {
        constructor(obj) {
            this.banner = document.querySelector(obj.banner);
            this.base = document.querySelector(obj.base)
        }
        open (content) {
            this.banner.innerHTML = content;
            this.banner.classList.add("open")
            this.base.classList.add("open")
        }
        close () {
            this.banner.classList.remove("open")
            this.base.classList.remove("open")
        }       
    }

Кроме этой строчки.
this.base.onclick = myfavorit.close

Не понимаю как реализовать обращение к аргументам конструктора, или как создать функцию которая бы работала без лишнего вызова вне класса
  • Вопрос задан
  • 131 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

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