Разница в значениях между ‘value’ и ‘_value’ при выводе $ref

#javascript #vue.js

#javascript #vue.js

Вопрос:

Я пытаюсь получить доступ к значению поля ввода, которое у меня есть в форме,

однако, если я использую v-model, я получаю неполный результат, и если я попытаюсь записать значение, например:

 console.log(this.$refs.address.value);
  

результат

4 Duiker Cresc

и это должно быть

4 Дукер Кресент, Сэнд-Бей, Сандбаай, Южная Африка

введите описание изображения здесь

Это Html

     <div class="form__group">
      <input
        type="text"
        class="form__input"
        placeholder="Street Address"
        ref="address"
        required
        @change="watchAddress($event)"
        v-model="User.street_address"
      />
      <label for="address" class="form__label">Street Address</label>
    </div>
  

вопрос в том, как мне получить значение этого элемента, обратите внимание, что эта проблема, похоже, вызвана тем, что я использую API карт Google для автоматического заполнения поля адреса

 let googlePlaces = new google.maps.places.Autocomplete(
  /** @type {!HTMLInputElement} */ (this.$refs.address),
  { types: ["geocode"] }
);
  

Комментарии:

1. это потому, что v-model фактически используется oninput для запуска изменения, и когда Google maps обновляет входные данные, это событие не вызывается, поэтому ваши данные не обновляются.

2. @elichen как бы мне тогда принудительно обновить?

3. если у вас событие при автозаполнении Google, тогда вам следует обновить данные. я не знаком с Google map api, но я уверен, что у вас есть такое событие.