Forntend/Vue
[Vue] 스크롤 이벤트 넣기
잎음료
2023. 5. 2. 22:00
Vue에서 스크롤 이벤트를 넣기 위해서 Vue의 라이프사이클 created가 아닌 mounted에 리스너를 추가하였다.
//컴포넌트 인스턴스 마운트 후 호출
mounted() {
document.addEventListener("scroll", this.scrollEvents);
},
unmounted() {
document.removeEventListener("scroll", this.scrollEvents);
},
methods: {
//스크롤 이벤트 메서드
scrollEvents: function () {
if (document.documentElement.scrollTop > 0) {
this.isScroll = true;
} else {
this.isScroll = false;
}
},
created는 초기 데이터 설정은 끝 마쳤지만 DOM(웹페이지 객체화)이 완전히 생성되지 않기 때문에, mounted에 리스너를 추가해야한다.
스크롤하면 생기는 '맨 위로' 버튼이라던지, 스크롤에 따라 요소 크기를 바꾼다던지의 이벤트를 추가할 수 있게 되었다.
다른 블로그들을 찾아보면 페이지 전체가 아닌 요소 하나 스크롤에도 이벤트를 삽입할 수 있는 것 같다.