feat: publicize doc implemetation
This commit is contained in:
23
app/router.scrollBehavior.js
Normal file
23
app/router.scrollBehavior.js
Normal file
@@ -0,0 +1,23 @@
|
||||
export default function scrollBehavior (to) {
|
||||
// if the returned position is falsy or an empty object,
|
||||
// will retain current scroll position.
|
||||
let position = false
|
||||
|
||||
// if no children detected
|
||||
if (to.matched.length < 2) {
|
||||
// scroll to the top of the page
|
||||
position = { x: 0, y: 0 }
|
||||
} else if (
|
||||
to.matched.some(r => r.components.default.options.scrollToTop)
|
||||
) {
|
||||
// if one of the children has scrollToTop option set to true
|
||||
position = { x: 0, y: 0 }
|
||||
} else if (
|
||||
to.hash &&
|
||||
document.querySelector(decodeURIComponent(to.hash))
|
||||
) {
|
||||
// scroll to anchor by returning the selector
|
||||
position = { selector: to.hash }
|
||||
}
|
||||
return position
|
||||
}
|
Reference in New Issue
Block a user