前言:利用vue 写的项目,由于用了iframe 的原因,子页面的内容会随着数据的不同而不同,所以iframe 的高度需要等页面数据加载完后动态计算。

经过自己各种的调试,发现在mounted 里面无法得到所需要的高度,永远偏低。

解决办法:利用watch 监听

listModel,为请求的数据,待数据请求完成后,this.$nextTick  为dom 渲染完后,执行那个方法(自己封装的动态设置高度方法)。发现,还是不行,还是得不到实际的高度。最后在封装的方法里面用定时器延时0毫秒或者几毫秒,在执行那个方法,就会得到真正的高度。这是自己想到较次的方法,欢迎大家补充。

this.$nextTick(()=>{

console.log('dom加载完成');

})

watch:{
    listModel:function () {
        this.$nextTick(()=>{
            iframeCut.setIframeHeight('iframeId','/manage/doctor.html')

   })
    }
},
Logo

前往低代码交流专区

更多推荐