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();
}
}
}