百事u 2022-05-27 11:53 采纳率: 0%
浏览 820

vue3 如何获取dom元素的offsetTop

问题遇到的现象和发生背景

PC端 页面实现点击a标题,滚动到指定的位置

问题相关代码,请勿粘贴截图
点击滚动到指定位置
vue3 在setup(){ const helpall = ref(null); console.log( helpall.value.offsetTop ) 打印出来的是undefined return {helpall } }
运行结果及报错内容

console.log( helpall.value.offsetTop ) 打印出来的是undefined

我想要达到的结果

想要获取 dom元素的 offsetTop

  • 写回答

1条回答 默认 最新

  • 那个角落有个bug 2022-05-27 15:27
    关注

    获取页面dom元素 需要在页面挂载完成后去操作

    <template>
      <div class="about">
        <h1 ref="helpall">This is an Vue3 page</h1>
      </div>  
    </template>
    
    <script>
    import {
      ref,
      onMounted
    } from 'vue';
    export default {
      name: 'dashboard',
      setup() {
        const helpall = ref(null)
    
        onMounted(() => {
          console.log('offsetTop', helpall.value.offsetTop);
        })
        return {
          helpall
        }
      }
    }
    </script>
    
    <style lang="scss" scoped>
    .about {
      padding-top: 30px;
      text-align: center;
      color: #2c3e50;
    }
    </style>
    

    运行结果

    img

    评论

报告相同问题?

问题事件

  • 创建了问题 5月27日

悬赏问题

  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊
  • ¥15 求多普勒频移瞬时表达式
  • ¥15 如果要做一个老年人平板有哪些需求