vue a标签锚点跳转不改变路由的方式

Vue路由与a标签链接锚点发生冲突

近期在vue项目中,使用了a标签锚点定位对应内容的时候发现路由也发生了变化,此时如果去刷新页面则会出现找不到页面的情况。

如果直接使用下面的方法进行锚链接,会导致路由变成xxx,这样显然不是我们需要的

javascript 复制代码
<a href="#xxx" rel="external nofollow" ></a>
<div id="xxx"></div>

解决方法

javascript 复制代码
<a @click.prevent="anchor('comment')">点击我跳转至comment</a>
<div id="comment">我是comment区域</div>
javascript 复制代码
methods: {
  /*锚链接跳转*/
  anchor(anchorName) {
    /*找到锚点*/
    let anchorElement = document.getElementById(anchorName);
    /*如果对应id的锚点存在,就跳转到锚点*/
    if(anchorElement) {
      anchorElement.scrollIntoView();
    }
  }
}
相关推荐
X***48968 小时前
JavaScript在Node.js中的Nx
javascript·node.js·vim
o***Z4489 小时前
JavaScript在Node.js中的内存管理
开发语言·javascript·node.js
李游Leo9 小时前
前端安全攻防指南:XSS / CSRF / 点击劫持与常见防护实践(含真实案例拆解)
前端·安全·xss
我命由我123459 小时前
微信开发者工具 - 模拟器分离窗口与关闭分离窗口
前端·javascript·学习·微信小程序·前端框架·html·js
E***q5399 小时前
Vue增强现实开发
前端·vue.js·ar
S***42809 小时前
JavaScript在Web中的Angular
前端·javascript·angular.js
4***14909 小时前
Vue代码规范详解
javascript·vue.js·代码规范
黑幕困兽9 小时前
ehcarts 实现 饼图扇区间隙+透明外描边
前端·echarts
San309 小时前
深入理解 JavaScript 词法作用域链:从代码到底层实现机制
前端·javascript·ecmascript 6
进击的野人9 小时前
深入理解 JavaScript Promise:原理、用法与实践
javascript·面试·ecmascript 6