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