问题描述

页面需要动态计算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;
    }

相关文章:

  • 2021-11-20
  • 2021-08-22
  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-04-21
相关资源
相似解决方案