摘要:滾動行為使用前端路由,當(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
摘要:滾動行為使用前端路由,當(dāng)切換到新路由時,想要頁面滾到頂部,或者是保持原先的滾動位置,就像重新加載頁面那樣。注意,這個功能只能在模式下啟用滾動的位置方法接收和路由對象。 滾動行為 使用前端路由,當(dāng)切換到新路由時,想要頁面滾到頂部,或者是保持原先的滾動位置,就像重新加載頁面那樣。 vue-router 能做到,而且更好,它讓你可以自定義路由切換時頁面如何滾動。 注意,這個功能只能在hist...
摘要:當(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 改變時...
摘要:注意這個功能只在支持的瀏覽器中可用。官方文檔簡介滾動行為使用方法期望滾動到哪個的位置或者集成模式寫法期望滾動到哪個的位置方法接收和路由對象。 前提:之前寫過關(guān)于keep-Alive組件,來實現(xiàn)在列表頁進入詳情頁后,后退,返回列表,顯示上次訪問的位置(原理就是緩存列表頁數(shù)據(jù)來實現(xiàn)),目前發(fā)現(xiàn)另外一個問題,就是如果后臺操作改變數(shù)據(jù)的狀態(tài),緩存的辦法就會導(dǎo)致數(shù)據(jù)更新不及時導(dǎo)致一些頁面錯誤(例...
閱讀 3745·2021-10-18 13:34
閱讀 2455·2021-08-11 11:15
閱讀 1225·2019-08-30 15:44
閱讀 727·2019-08-26 10:32
閱讀 1018·2019-08-26 10:13
閱讀 2086·2019-08-23 18:36
閱讀 1803·2019-08-23 18:35
閱讀 554·2019-08-23 17:10