Front-end/Javascript 실습
6. 당근게임 - 리팩토링(팝업 클래스)
warrior.p
2022. 4. 5. 15:40
코드의 모듈화!
constructor() : 클래스의 인스턴스 객체를 생성/초기화하는 특별한 함수
main.js에 팝업에 관련된것들을 가져와 바인딩함.
모듈화 후에는 main.js에 팝업관련된것들을 생략하고 , PopUp class를 삽입하여 작동하게 해줌.
PopUp JS
'use strict';
export default class PopUp { //export -> 외부에 노출하겠다~
constructor() { //constructor() : 클래스의 인스턴스 객체를 생성/초기화하는 특별한 함수
//PopUp class에 멤버변수 3개를 만들어줌
this.popUp = document.querySelector('.pop-up');
this.popUpMessage = document.querySelector('.pop-up__message');
this.popUpRefreshBtn = document.querySelector('.pop-up__refresh');
this.popUpRefreshBtn.addEventListener('click', () => {
this._hide();
this.onClick && this.onClick();
});
}
setClickListener(onClick) { //
this.onClick = onClick;
}
showWithText(text) {
this.popUpMessage.innerText = text;
this.popUp.classList.remove('hide');
}
_hide() {
this.popUp.classList.add('hide');
}
}
코드의 모듈화!
constructor() : 클래스의 인스턴스 객체를 생성/초기화하는 특별한 함수