Проблемы с двухсторонним связыванием в Angular 6 - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть такой элемент ввода:

<input type="text" google-place-search id='city' placeholder="Type to search" name='city' [(ngModel)]='user.city'>

Я хочу программно установить значение этого элемента в некоторых случаях.Поэтому я использую:

setAddress(addressObj){
    this.user.city = addressObj;
}

Но это, похоже, не связывает новое значение.Я вижу, что setAddress вызывается с передачей правильного аргумента, но с элементом input не происходит никаких изменений.Я что-то здесь упускаю?

Это Angular 6.

Редактировать 1:

google.maps.event.addListener(autocomplete, 'place_changed', () => {
   this.aboutYouComp.setAddress(autocomplete.getPlace().name);
});

Это то, что зовет

1 Ответ

0 голосов
/ 24 сентября 2018

Поскольку вы используете двустороннюю привязку данных, вы можете просто объявить объект пользователя с его свойствами в классе компонента и получить к нему доступ в шаблоне с помощью [()].Но вы также говорите, что вызывается метод setAddress.Где это происходит в вашем коде.Потому что он не вызывается в элементе ввода?

...