VueJS nexttick и IE11

#vue.js #internet-explorer-11

#vue.js #internet-explorer-11

Вопрос:

В последнее время $ nexttick, похоже, сломался в IE 11, в частности, в отношении переменной, связанной с вводом. Это приводит к отправке форм с динамическим содержимым, в которых отсутствуют требуемые данные

 <form id="something" action="/" method="post">
    <input type="hidden" name="token" :value="token" />
</form>

// js code
promise.then(function() {
    self.$nextTick(function () {
        document.getElementById('something').submit();
    });
});
  

Мы обнаружили, что использование setTimeout в течение 1 секунды при отправке формы дает достаточно времени для обновления DOM, чтобы токен можно было включить в отправку формы.

Были ли какие-либо изменения в nexttick / IE11, которые нам нужно учитывать?

Ответ №1:

nextTick позволяет вам что-то делать после того, как вы изменили данные, а VueJS обновил DOM на основе ваших изменений данных, но до того, как браузер отобразит измененные данные на странице. Если вы хотите явно повторно отобразить DOM, используйте requestAnimationFrame или setTimeout .

Вы могли бы проверить этот поток.