前言:利用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')
)
}
},