Angular 6中双向绑定的问题

时间:2018-09-24 04:49:43

标签: angular data-binding angular6

我有一个像这样的输入元素:

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

在某些情况下,我希望以编程方式设置此元素的值。所以我用:

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

但是,这似乎并不绑定新值。我可以看到在调用setAddress时传入了正确的参数,但是输入元素没有发生变化。我在这里想念东西吗?

这是Angular 6。

编辑1:

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

这就是它的称呼

1 个答案:

答案 0 :(得分:0)

由于您正在使用两种方式进行数据绑定,因此可以只在组件的类中声明用户对象及其属性,然后使用[[)]在模板中访问它。 但是,您还说正在调用setAddress方法。您的代码在哪里发生。因为似乎在输入元素中没有调用它?