NG模型仅在使用谷歌地图自动完成时单击后更新输入
ng model only updating input after click when using google maps autocomplete
我收到了来自 rest API 的谷歌地图地点 ID。然后我使用谷歌地图 api 来获取这样的地点对象:
var geocoder = new google.maps.Geocoder;
geocoder.geocode({
'placeId': data.city
}, function(results, status) {
if (status === google.maps.GeocoderStatus.OK) {
if (results[0]) {
$scope.place = results[0];
} else {
window.alert('No results found');
}
} else {
window.alert('Geocoder failed due to: ' + status);
}
});
我正在将结果写入我在前端使用的范围变量中,如下所示:
<label><span>Stadt</span><input type="text" g-places-autocomplete ng-model="place.formatted_address" name="city" class="f-trans"/></label>
我正在使用 github 的 kuhnza/angular-google-places-autocomplete 来实现自动完成功能。不知何故,现在我遇到了一个问题,当范围变量由顶部的函数设置时,它不会更新输入。只有当我在输入字段内部再次单击输入字段外部时,它才会更新并且自动完成功能正在运行而没有任何问题。它与我正在使用的"kuhnza/angular-google-places-autocomplete"标签无关,因为如果我删除它,它仍然不起作用。
您正在更新角度之外的模型。因此,在您与 angular 交互之前,它不会意识到值已更新。最后,我检查了确保更新在角度摘要中的最简单方法是将其包装在$timeout
中(确保也注入它)。
if (results[0]) {
$timeout(function() {
$scope.place = results[0];
});
} else {
window.alert('No results found');
}
相关文章:
- 检测在确认页面导航时单击了哪个按钮
- 防止用户在jQuery Mobile中ajax加载页面时单击其他位置
- 在文档加载Tampermonkey时单击事件激发
- onServer禁用javascript时单击
- 如何在显示多个标记时单击另一个标记时关闭信息窗口
- 当按钮禁用时单击,则单击按钮不会触发
- 您如何控制在填写表单时单击下一步时 iOS/Android 将关注哪个字段
- isHidden函数要求我在应用响应显示时单击两次
- 许多来自JSON的hrefs,在切换时单击会显示diffrent id
- 如何避免在浏览器 JavaScript 中双击时(单击鼠标)处理
- 我如何知道引导模式关闭时单击了哪个按钮
- NG模型仅在使用谷歌地图自动完成时单击后更新输入
- 如何制作整行以及其中的复选框,当我在表格行内单击时单击和取消单击
- 如何防止在拖动时单击元素
- 触发模态事件时单击选项卡
- 使按钮在按下时单击
- 小部件上的菜单,在选择其他项目时单击关闭时打开
- 如何在提交表单时单击提交输入字段开始此 JQuery 验证
- 如何在运行时单击按钮时调用函数,如下面的代码所示
- Jquery 在生成列表元素时单击奇怪的行为