全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Vue 滚动行为的具体使用方法

滚动行为

使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 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小时内与您取得联系。