Не понимаю,как исправить ошибку(подсвечено оранжевым цветом и снизу комментарий"Все элементы...")
export default class Card {
constructor(data, cardSelector) {
this._title = data.name;
this._imageLink = data.link;
this._cardSelector = cardSelector;
this._element = this._getTemplate();
}
_scaleImage(evt) {
const popupForScaleImg = document.querySelector(".popup_for_scale-image");
const formImg = document.querySelector(".popup__image");
const formImgTitle = document.querySelector(".popup__image-title");
formImg.src = evt.target.src;
formImg.alt = evt.target.alt;
formImgTitle.textContent = evt.target.alt;
return openPopup(popupForScaleImg);
} ```
Ответы (1 шт):
Автор решения: HaZcker
→ Ссылка
Возможно вот так имелось ввиду:
export default class Card {
constructor(data, cardSelector) {
this._title = data.name;
this._imageLink = data.link;
this._cardSelector = cardSelector;
this._element = this._getTemplate();
this.popupForScaleImg = document.querySelector(".popup_for_scale-image");
this.formImg = document.querySelector(".popup__image");
this.formImgTitle = document.querySelector(".popup__image-title");
}
_scaleImage(evt) {
this.formImg.src = evt.target.src;
this.formImg.alt = evt.target.alt;
this.formImgTitle.textContent = evt.target.alt;
return openPopup(this.popupForScaleImg);
}
}
Получение элементов (.popup_for_scale-image и тд) записаны в свойства класса.
Теперь при вызове метода _scaleImage элементы берутся из свойства класса, а не ищутся каждый раз заново
