我有这种绑定样式:
<div :style="{height: errHeight}"
从这个计算的属性:
errHeight() { return Math.ceil(this.errors.length * 20 + 7) + 'px'; }
this.errors
指的是来自 Vuex 的这个计算属性:
errors() { return this.$store.state.errors; },
使用 将错误添加到数组中array.push
。当添加或删除一个错误时,样式绑定可以正常工作,但在初始页面加载时,可能会由于不同的异步任务失败(http 请求)快速连续添加两个或更多错误,在这种情况下,我的 errHeight() 计算属性只返回 1 错误的高度。
编辑:
如果我将高度计算移动到具有延迟的观察者中,它确实有效,只要延迟比影响高度的异步函数长。setTimeout(this.calcHeight, 1000);
并不是一个真正令人满意的解决方案。