首页  >  问答  >  正文

javascript - 在$nextTick中获取DOM高度的问题

再做一个滚动的功能,需要获取到被滚动元素的高度
代码如下

    created() {
      this.titleid = this.$route.params.titleid
      this.communityid = this.$route.params.communityid
      this.TOPIC_LOADORDERBY({titleid: this.titleid, communityid: this.communityid})
       this.$nextTick(function () {
           // DOM 现在更新了
           // `this` 绑定到当前实例
           this._initScroll()
           let self = this;
               console.log(self.$refs.scorll.clientHeight)
               console.log(self.$refs)
               let height = self.$refs.scorll.clientHeight - self.$refs.topicReply.clientHeight;
                self.meunScroll.scrollTo(0, -height,0)

        })

我发现得到的值并不是实际高度的值,最初我怀疑是不是数据没有渲染进去,于是查看了一下DOM中属性的值,发现内容都是有的,就连clientHeight的值也是我需要的准确的值,但是不知道为什么我获取clientHeight值的时候却并不是我想要的,我尝试了使用定时器,但是结果还是一样的当时间只有在1000的时候才能获取到确切的高度;

phpcn_u1582phpcn_u15822684 天前514

全部回复(1)我来回复

  • 给我你的怀抱

    给我你的怀抱2017-05-19 10:11:37

    在created的钩子函数中,模板还没渲染好,试试mounted

    回复
    0
  • 取消回复