У меня есть эта грань стиля:Связанный стиль не применяя быстрые обновления к базовой стоимости
<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 ошибки.
EDIT:
Если я перееду расчет высоты в сторожа с задержкой, он делает работу, так долго, как задержка больше, чем функции асинхронными, влияющие на высоту. setTimeout(this.calcHeight, 1000);
не совсем удовлетворительное решение.
Спасибо за ответ, попробовал, но он работает так же, как и раньше. Я получаю только высоту одной ошибки. – daninthemix
@daninthemix Можете ли вы добавить дополнительные фрагменты кода или, если возможно, создать скрипку? – Saurabh
Я пробовал, но я полностью неспособен воспроизвести проблему на JSfiddle, так как все работает нормально, даже когда я устанавливаю изменения высоты в асинхронных функциях. Я в недоумении. https://jsfiddle.net/1z7dskrq/1/ – daninthemix