在使用Vue和uniapp,有時候需要在頁面數據渲染完成之后調用方法,不然獲取不到准確的數據,特別是在獲取列表的高度的時候,由於數據沒有加載完,獲取不到准確的高度。之前在使用jquery的時候,有ready可以幫助我們實現,但是Vue和uniapp不存在此類方法,我們需要結合watch和this.$nextTick()來實現。
nextTick:在下次 DOM 更新循環結束之后執行延遲回調。
watch:用於觀察Vue實例上的數據變動。對應一個對象,鍵是觀察表達式,值是對應回調。
之前我是這樣子使用nextTick的:
mounted:{
this.$nextTick(function(){
/方法
})
}
經測試發現實現不了所需要的效果,只有結構,沒有數據,即獲取不到想要的高度
后發現需要結合watch監聽某個屬性:
watch:{
asyncArray:function()
this.$nextTick(function(){
//方法
});
}
}