私はこのバインドされたスタイルを持っています:
<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
ます。1 つのエラーが追加または削除された場合、スタイル バインディングは正常に機能しますが、最初のページの読み込み時に、異なる非同期タスクの失敗 (http 要求) によって 2 つ以上のエラーが立て続けに追加される可能性があります。その場合、私の errHeight() 計算プロパティ1 エラーの高さのみを返します。
編集:
高さの計算を遅延のあるウォッチャーに移動すると、遅延が高さに影響を与える非同期関数よりも長い限り、機能します。setTimeout(this.calcHeight, 1000);
本当に満足のいく解決策ではありません。