在vue3项目中,当我从一个页面(首页)跳转到另一个页面(详情页)时,详情页中的元素距离顶部的距离不能正确算出来(在setup中执行计算的方法),而当我刷新详情页时可以正确算出,请问如何解决这个问题:
路由界面:
首页中点击跳转:
详情页中获取元素高度:
调整获取位置后还是一样:
需求已解决,问题未解决
在vue3项目中,当我从一个页面(首页)跳转到另一个页面(详情页)时,详情页中的元素距离顶部的距离不能正确算出来(在setup中执行计算的方法),而当我刷新详情页时可以正确算出,请问如何解决这个问题:
路由界面:
首页中点击跳转:
详情页中获取元素高度:
调整获取位置后还是一样:
需求已解决,问题未解决
5 回答7.1k 阅读✓ 已解决
5 回答8.2k 阅读
2 回答10.3k 阅读✓ 已解决
2 回答12.6k 阅读✓ 已解决
2 回答10.4k 阅读✓ 已解决
1 回答5.1k 阅读✓ 已解决
4 回答6.1k 阅读
可能是路由进去时没有DOM完全渲染好就获取就需要调整一下位置, 也可能是因为获取的方法有问题, 需要补充一下代码
刷新后没有报错, 而且正常说明逻辑上是没有语法问题的
这个reactive不知道是做什么的不过看着你是在setup里面获取的
下面是vue3的生命周期:
setup函数在beforeCreate生命周期钩子执行之前执行
从中可以看到此时DOM没有生成, 因此获取DOM的相关数据应该是在第二个黑框的钩子函数里面
onMounted
, 根据你的写法可以这样: