У меня есть один вход в мое приложение Vue.Это часть компонента, которая настроена как документация об использовании «v-модели с компонентами»:
Vue.component('custom-input', {
props: ['value'],
template: `
<input
v-bind:value="value"
v-on:input="$emit('input', $event.target.value)"
>
`
})
Этот вход явно заполнен значением(из автозаполнения Chrome), когда страница загружается, но в моем коде у меня есть следующее утверждение:
setInterval(() => { console.log(document.querySelector('input').value); }, 50);
Это последовательно регистрирует пустую строку, даже когда я ясно вижу, что этот вводзаполнен значением.Однако, как только я проверяю или ссылаюсь на элемент в Chrome devtools, setInterval
внезапно начинает записывать правильное значение (luke@deentaylor.com
):
Поскольку проблема исчезает, как только кто-то пытаетсяотладить его, это было чрезвычайно трудно диагностировать.Что может вызвать это?
РЕДАКТИРОВАТЬ: не обращайте внимания, это поведение не имеет никакого отношения к проверке самого элемента, console.log('hi')
в консоли дает тот же результат.Необходимым условием для заполнения правильного значения формы является только взаимодействие пользователя со страницей.В отличие от решений здесь , мне нужно полное значение автозаполнения;моя форма входа в систему должна сделать запрос к серверу с содержимым поля, прежде чем активировать кнопку «отправить».