지구본

[Vue] 스크롤 이벤트 넣기 본문

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에 리스너를 추가해야한다. 

스크롤하면 생기는 '맨 위로' 버튼이라던지, 스크롤에 따라 요소 크기를 바꾼다던지의 이벤트를 추가할 수 있게 되었다. 

 

다른 블로그들을 찾아보면 페이지 전체가 아닌 요소 하나 스크롤에도 이벤트를 삽입할 수 있는 것 같다.

'Forntend > Vue' 카테고리의 다른 글

vue -v 명령어 오류  (0) 2023.03.03
Vue.js 클론 코딩 개요 및 진행  (0) 2023.03.01
Vue 프로젝트 생성 및 실행  (1) 2023.03.01
Vue.js 설치방법  (0) 2023.03.01