vue页面内锚点跳转

这两天想用刚学的Vue做一个网址导航,刚好手里有一个域名v1.pw,于是唯一导航便诞生了。

v1导航

Element真的踩坑无数,不同组件嵌套起来有不同奇葩BUG。 然后我想的是右边的菜单导航,点击之后页面就滑动到相应的地方,因为导航比较简单,所以基本上就在一个页面了。 一开始想的是用a标签的跳转,然后把那些分类的id就弄为href属性。 然后发现页面直接跳转了。 在网上发现了Element.scrollIntoView()

https://developer.mozilla.org/zh-CN/docs/Web/API/Element/scrollIntoView

在methods里面定义一个跳转方法

代码语言:javascript
复制
    skip(targetId) {
      let el = document.getElementById(targetId)
      if (el) {
        el.scrollIntoView({behavior: "smooth"})
      }
    }

在页面里面调用

代码语言:javascript
复制
@click="skip('tab-'+item.category.id)"

就可以达到想要的效果了