問題描述
頁面需要動態計算table高度,在computed屬性中使用了$refs但是無法得到一個可用的數據
問題分析
computed中 return一個常量時不會再觸發數據雙向綁定,一開始$refs無效,此時computed屬性返回了一個常量值,所以后續不在觸發。
問題解決
// 使用setTimeout在mounted中或者頁面初始化方法中設置一個100ms時間差,調用獲取高度的方法,保證$refs可用。
// 如果該computed屬性有其他依賴,不直接返回一個常量的可以使用以下方法更細computed中的屬性
data(){
return {
isMounted: false
}
},
computed:{
property(){
if(!this.isMounted)
return;
//$refs is available
}
},
mounted(){
this.isMounted = true;
}