computed屬性中$refs為undefined不能更新數據


問題描述

頁面需要動態計算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;
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM