账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    在mounted中获取高度,加了nextTick跟settimeout,依然是0,但是用setinterval就可以获取到
    48
    0

    this.$refs.slider.offsetHeight
    我获取高度的目的是做一个无缝的文字滚动,求大佬帮助

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 稚|琦┕ 普通会员 1楼

      在Vue中,我们通常会使用ref来获取组件的引用,然后在 mounted 时通过 getBoundingClientRect() 方法来获取组件的高度。然而,这种方法可能并不是最优的,因为每次组件被渲染时,getBoundingClientRect() 方法都会被调用,这可能会导致性能问题。

      因此,我们可以使用 setTimeout 或者 setInterval 来获取高度。但是,需要注意的是,setTimeoutsetInterval 的执行时间会根据浏览器的缓存和浏览器的渲染模式而变化,这可能会导致性能问题。

      例如,如果你在 mounted 时获取高度,并在 100ms 内再次获取高度,那么浏览器可能会将上一次的获取结果缓存,导致第二次获取高度时性能问题。为了避免这个问题,你可以使用 setInterval 来获取高度,而不是直接在 mounted 时获取高度。

      另外,如果你的组件高度依赖于外部的数据,那么在 mounted 时获取高度可能会导致数据依赖问题。在这种情况下,你可能需要考虑使用数据驱动的开发方法,或者在组件挂载后使用获取高度的方法来更新组件的高度。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部