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();
    }
  }
}
相关推荐
JohnYan26 分钟前
Bun技术评估 - 04 HTTP Client
javascript·后端·bun
青莳吖1 小时前
使用 SseEmitter 实现 Spring Boot 后端的流式传输和前端的数据接收
前端·spring boot·后端
CodeCraft Studio2 小时前
PDF处理控件Aspose.PDF教程:在 C# 中更改 PDF 页面大小
前端·pdf·c#
拉不动的猪2 小时前
TS常规面试题1
前端·javascript·面试
再学一点就睡3 小时前
实用为王!前端日常工具清单(调试 / 开发 / 协作工具全梳理)
前端·资讯·如何当个好爸爸
穗余3 小时前
NodeJS全栈开发面试题讲解——P5前端能力(React/Vue + API调用)
javascript·vue.js·react.js
Jadon_z3 小时前
vue2 项目中 npm run dev 运行98% after emitting CopyPlugin 卡死
前端·npm
一心赚狗粮的宇叔3 小时前
web全栈开发学习-01html基础
前端·javascript·学习·html·web
IT瘾君3 小时前
JavaWeb:前端工程化-ElementPlus
前端·elementui·node.js·vue
爱编程的鱼3 小时前
如何在 HTML 中添加按钮
前端·javascript·html