vue 怎样实现跳转到页面指定位置?

关注者
3
被浏览
26,258

3 个回答

要在 Vue 中实现跳转到页面的指定位置,你可以使用锚点(anchor)和路由(router)的结合方式来实现。

以下是一种常见的实现方式:

  1. 在目标页面的 HTML 中设置锚点(anchor),例如:
htmlCopy code
<div id="section1">
  <!-- section1 content -->
<div id="section2">
  <!-- section2 content -->
  1. 在路由配置中定义对应的路由路径,例如:
javascriptCopy code
const routes = [
  { path: '/', component: Home },
  { path: '/page', component: Page },
  1. 在页面中添加链接,通过路由链接到目标页面,并携带锚点信息,例如:
htmlCopy code
<router-link to="/page#section1">Go to Section 1</router-link>
<router-link to="/page#section2">Go to Section 2</router-link>
  1. 在目标页面的组件中,使用 Vue 的生命周期钩子函数 mounted 监听路由变化,并使用 JavaScript 操作 DOM 的方式滚动到指定位置,例如:
javascriptCopy code
export default {
  mounted() {
    const hash = this.$route.hash;
    if (hash) {
      const targetElement = document.getElementById(hash.substring(1));
      if (targetElement) {