滚动行为

使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动。
注意: 这个功能只在 HTML5 history 模式下可用。
scrollBehavior 方法接收 to 和 from 路由对象。第三个参数 savedPosition 当且仅当 popstate 导航 (通过浏览器的 前进/后退 按钮触发) 时才可用。
const router = new VueRouter({
routes: [...],
scrollBehavior (to, from, savedPosition) {
// return 期望滚动到哪个的位置
}
})
返回滚动位置的对象信息
{ x: number, y: number }
{ selector: string }
如果返回一个布尔假的值,或者是一个空对象,那么不会发生滚动。
<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
# 滚动行为
# 滚动
# Vue-Router进阶之滚动行为详解
# 详解10分钟学会vue滚动行为
# 是一个
# 让你
# 就像
# 或者是
# 布尔
# 自定义
# 只在
# 第三个
# 能做到
# 首页
# 时才
# 到新
# 大家多多
# 滚动条
# 加载
# 模式下
# const
# lt
# VueRouter
# routes
相关文章:
建站VPS配置与SEO优化指南:关键词排名提升策略
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
如何在西部数码注册域名并快速搭建网站?
c# 在高并发场景下,委托和接口调用的性能对比
广州美橙建站如何快速搭建多端合一网站?
高防服务器租用首荐平台,企业级优惠套餐快速部署
网站微信制作软件,如何制作微信链接?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
如何通过.red域名打造高辨识度品牌网站?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
如何在IIS中配置站点IP、端口及主机头?
如何选择适合PHP云建站的开源框架?
制作营销网站公司,淘特是干什么用的?
如何在新浪SAE免费搭建个人博客?
如何使用Golang table-driven基准测试_多组数据测量函数效率
贸易公司网站制作流程,出口贸易网站设计怎么做?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
为什么Go需要go mod文件_Go go mod文件作用说明
如何在阿里云虚拟主机上快速搭建个人网站?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
郑州企业网站制作公司,郑州招聘网站有哪些?
建站主机是否属于云主机类型?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
如何正确下载安装西数主机建站助手?
如何设置并定期更换建站之星安全管理员密码?
太平洋网站制作公司,网络用语太平洋是什么意思?
网站制作壁纸教程视频,电脑壁纸网站?
智能起名网站制作软件有哪些,制作logo的软件?
如何彻底删除建站之星生成的Banner?
网站制作软件有哪些,制图软件有哪些?
成都网站制作报价公司,成都工业用气开户费用?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
电商网站制作公司有哪些,1688网是什么意思?
建站主机解析:虚拟主机配置与服务器选择指南
如何用y主机助手快速搭建网站?
企业微网站怎么做,公司网站和公众号有什么区别?
如何在万网主机上快速搭建网站?
广东企业建站网站优化与SEO营销核心策略指南
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
海南网站制作公司有哪些,海口网是哪家的?
javascript中的try catch异常捕获机制用法分析
制作宣传网站的软件,小红书可以宣传网站吗?
高端企业智能建站程序:SEO优化与响应式模板定制开发
如何在阿里云香港服务器快速搭建网站?
建站主机CVM配置优化、SEO策略与性能提升指南
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
高端云建站费用究竟需要多少预算?
建站之星CMS五站合一模板配置与SEO优化指南
网站制作难吗安全吗,做一个网站需要多久时间?
如何访问已购建站主机并解决登录问题?
*请认真填写需求信息,我们会在24小时内与您取得联系。