10 분 동안 vue 스크롤 행 위 를 자세히 이해 합 니 다.

2911 단어 vue스크롤 행위
스크롤 행위
경로 의 스크롤 행위 가 무엇 입 니까?
새 경로 로 전환 할 때 페이지 를 맨 위로 굴 리 거나 원래 의 스크롤 위 치 를 유지 하려 면 페이지 를 다시 불 러 오 는 것 과 같 습 니 다.
메모:이 기능 은 HTML 5 history 모드 에서 만 사용 할 수 있 습 니 다.이 모드 에서 우 리 는 서 비 스 를 시작 해 야 한다.
저 희 는 스크롤 Behavior 방법 으로 스크롤 을 합 니 다.
scrollBehavior 방법 수신 to 와 from 경로 대상.세 번 째 인자 savedPosition 은 popstate 내 비게 이 션(브 라 우 저 를 통 해 전진/후퇴 단 추 를 누 를 때 만 사용 할 수 있 습 니 다)
다음은 저희 가 작은 사례 를 하나 만들어 서 알 아 보도 록 하 겠 습 니 다.
효과.

<div id="app">
  <h1>    </h1>
  <ul>
    <li><router-link to="/">  </router-link></li>
    <li><router-link to="/foo">  </router-link></li>
    <li><router-link to="/bar">  </router-link></li>
    <li><router-link to="/bar#an1">    </router-link></li>
    <li><router-link to="/bar#an2">    </router-link></li>
  </ul>
  <router-view></router-view>
</div>
<script>
  var Home = {
    template:"<div>home</div>"
  }
  var Foo = {
    template:"<div>foo</div>"
  }
  var Bar = {
    template:
      `
        <div>
          bar
          <div style="height:500px;background: yellow;"></div>
          <p id="an1" style="height:500px;background: red;">    </p>
          <p id="an2" style="height:300px;background: blue;">    </p>
        </div>
      `
  }

  var router = new VueRouter({
    mode:"history",
    //      
    scrollBehavior (to, from, savedPosition) {
      //                     ,       
      if (savedPosition) {
        return savedPosition
      } else {
        if (to.hash) {
          return {selector: to.hash}
        }
      }
    },
    routes:[
      {
        path:"/",component:Home
      },
      {
        path:"/foo",component:Foo
      },
      {
        path:"/bar",component:Bar
      }
    ]
  });
  var vm = new Vue({
    el:"#app",
    router
  });
</script>
vue 스크롤 사례
https://besmall.github.io/vue-gundong/
https://github.com/Besmall/vue-gundong
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기