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();
    }
  }
}
相关推荐
D_jing2028 分钟前
Vue 3 + Element Plus 重置el-drawer样式失效
前端·javascript·vue.js
__log30 分钟前
Vue 3 与 React 18+ 核心技术深度对比:从源码到实战
前端·vue.js·react.js
很晚很晚了5 小时前
纯前端转全栈 Day 1:我从第一个 NestJS 接口开始
前端
Lee川6 小时前
从零解剖一个 AI Agent Tool是如何实现的
前端·人工智能·后端
wangruofeng7 小时前
Playwright 深度调研:为什么它成了浏览器自动化的新底座
前端·测试
李白的天不白9 小时前
SSR服务端渲染
前端
XinZong9 小时前
OpenClaw 实现「龙虾」vs 龙虾 vs 用户 ws对话实现方案 + 实际落地项目
javascript
卷帘依旧10 小时前
WebSocket 比 SSE 复杂在哪里
javascript
卷帘依旧10 小时前
SSE(Server-Sent Events)完全指南
前端
码云之上10 小时前
万星入坞:我们如何用三层插件体系干掉巨石应用
前端·架构·前端框架