angular - Angular 6中两种方式绑定的问题
问题描述
我有一个像这样的输入元素:
<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);
});
这就是所谓的
解决方案
由于您使用的是双向数据绑定,因此您可以在组件的类中声明用户对象及其属性,并使用 [()] 在模板中访问它。但是,您还说正在调用 setAddress 方法。这在您的代码中发生在哪里。因为它似乎没有在输入元素中被调用?
推荐阅读
- javascript - 尝试在打开和关闭的卡上动态创建传单地图
- sql - 在 SQL 中创建存储过程
- javascript - 如果用户已经使用 JWT 登录 React,则限制对登录页面的访问
- python-3.x - 接受列表,拆分子列表中的元素并一起打印
- mysql - 有没有办法杀死这个存储过程?
- arcgis - ArcGIS REST API:MapServer/export 返回“未找到请求的图层 (layerId: export)。”
- c++ - DirectX CMake 包括中断 Windows.h
- c++ - Visual Studio 2019 - C++ 无法打开源文件
- python - 资源有限的 Python 多处理
- python - 如何将 groupby 输出(唯一值列表)映射回原始数据帧?