成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

VueRouter進階四(滾動行為)

kumfo / 3144人閱讀

摘要:滾動行為使用前端路由,當(dāng)切換到新路由時,想要頁面滾到頂部,或者是保持原先的滾動位置,就像重新加載頁面那樣。這個方法返回滾動位置的對象信息,長這樣如果返回一個布爾假的值,或者是一個空對象,那么不會發(fā)生滾動。

滾動行為

使用前端路由,當(dāng)切換到新路由時,想要頁面滾到頂部,或者是保持原先的滾動位置,就像重新加載頁面那樣。 vue-router 能做到,而且更好,它讓你可以自定義路由切換時頁面如何滾動。

注意: 這個功能只在 HTML5 history 模式下可用。

當(dāng)創(chuàng)建一個 Router 實例,你可以提供一個 scrollBehavior 方法:

var router = new VueRouter({
    routes: [...],
    scrollBehavior (to, from, savedPosition) {
        // return 期望滾動到哪個的位置
    }
})

scrollBehavior 方法接收 to 和 from 路由對象。第三個參數(shù) savedPosition 當(dāng)且僅當(dāng) popstate 導(dǎo)航 (通過瀏覽器的 前進/后退 按鈕觸發(fā)) 時才可用。

這個方法返回滾動位置的對象信息,長這樣:

    { x: number, y: number }
    { selector: string }

如果返回一個布爾假的值,或者是一個空對象,那么不會發(fā)生滾動。

舉例:

scrollBehavior (to, from, savedPosition) {
  return { x: 0, y: 0 }
}

對于所有路由導(dǎo)航,簡單地讓頁面滾動到頂部。

返回 savedPosition,在按下 后退/前進 按鈕時,就會像瀏覽器的原生表現(xiàn)那樣:

scrollBehavior (to, from, savedPosition) {
  if (savedPosition) {
    return savedPosition
  } else {
    return { x: 0, y: 0 }
  }
}

如果你要模擬『滾動到錨點』的行為:

scrollBehavior (to, from, savedPosition) {
  if (to.hash) {
    return {
      selector: to.hash
    }
  }
}

演示地址 : https://smallmotor.github.io/d

進階一(導(dǎo)航鉤子和路由元信息) : https://segmentfault.com/a/11...

進階二(過渡動效) : https://segmentfault.com/a/11...

進階三(數(shù)據(jù)獲取) : https://segmentfault.com/a/11...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/91758.html

相關(guān)文章

  • Vue-router的滾動行為

    摘要:滾動行為使用前端路由,當(dāng)切換到新路由時,想要頁面滾到頂部,或者是保持原先的滾動位置,就像重新加載頁面那樣。注意,這個功能只能在模式下啟用滾動的位置方法接收和路由對象。 滾動行為 使用前端路由,當(dāng)切換到新路由時,想要頁面滾到頂部,或者是保持原先的滾動位置,就像重新加載頁面那樣。 vue-router 能做到,而且更好,它讓你可以自定義路由切換時頁面如何滾動。 注意,這個功能只能在hist...

    biaoxiaoduan 評論0 收藏0
  • VueRouter

    摘要:當(dāng)對應(yīng)的路由匹配成功,將自動設(shè)置屬性值。執(zhí)行效果依賴方法的調(diào)用參數(shù)。而這個鉤子就會在這個情況下被調(diào)用。滾動行為只在支持的瀏覽器中可用。當(dāng)且僅當(dāng)導(dǎo)航通過瀏覽器的前進后退按鈕觸發(fā)時才可用。 當(dāng) 對應(yīng)的路由匹配成功,將自動設(shè)置 class 屬性值 .router-link-active 。 默認 hash 模式:使用 URL 的 hash 來模擬一個完整的 URL,于是當(dāng) URL 改變時...

    劉厚水 評論0 收藏0
  • Vue 滾動行為

    摘要:滾動行為使用前端路由,當(dāng)切換到新路由時,想要頁面滾到頂部,或者是保持原先的滾動位置,就像重新加載頁面那樣。期望滾動到哪個的位置返回滾動位置的對象信息如果返回一個布爾假的值,或者是一個空對象,那么不會發(fā)生滾動。 滾動行為 使用前端路由,當(dāng)切換到新路由時,想要頁面滾到頂部,或者是保持原先的滾動位置,就像重新加載頁面那樣。 vue-router 能做到,而且更好,它讓你可以自定義路由切換時頁...

    snifes 評論0 收藏0
  • Vue scrollBehavior 滾動行為,實現(xiàn)后退頁面顯示在上次瀏覽的位置

    摘要:注意這個功能只在支持的瀏覽器中可用。官方文檔簡介滾動行為使用方法期望滾動到哪個的位置或者集成模式寫法期望滾動到哪個的位置方法接收和路由對象。 前提:之前寫過關(guān)于keep-Alive組件,來實現(xiàn)在列表頁進入詳情頁后,后退,返回列表,顯示上次訪問的位置(原理就是緩存列表頁數(shù)據(jù)來實現(xiàn)),目前發(fā)現(xiàn)另外一個問題,就是如果后臺操作改變數(shù)據(jù)的狀態(tài),緩存的辦法就會導(dǎo)致數(shù)據(jù)更新不及時導(dǎo)致一些頁面錯誤(例...

    BaronZhang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<