ng模型数据不能正常工作
ng-model data bing not working properly
我试图用新的地理代码值更新字段,但即使模型更新了,它也不与第一次调用绑定。我的控制器代码如下:
function TheReportCtrl($scope) {
$scope.code = [];
$scope.code.lat = "19.2555500";
$scope.getCode = function () {
var geocoder = new google.maps.Geocoder();
var address = "12323 Barker Cypress Rd, Cypress, Texas"
geocoder.geocode({
'address': address
}, function (results, status) {
if (status === google.maps.GeocoderStatus.OK) {
$scope.code.lat = results[0].geometry.location.k;
} else {
console.log("Geocoding failed: " + status);
}
});
}
}
我的代码中缺少的部分是什么?
下面是JsFiddle代码示例你错过了一个适用范围()。美元();
见http://fiddle.jshell.net/yfLek2cw/
你的Angular CDNLink在你原来的小提琴里也不能工作。原因是,geolocation回调不是从angular中完成的。因此,脏检查机制在那里不起作用。要再次启动脏检查,必须调用$scope.$apply();
这对于所有外部回调函数都是必需的,即使这些回调函数在角作用域内。Auto $apply只适用于angular的回调函数,比如$timeout或$q service
您的代码实际上是工作的,您只需要使用$apply()
方法更新$scope
。这是小提琴:
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- 最大高度转换不;不工作,工作缓慢
- Gulp-rev:不是第一次工作,而是在第一次工作之后工作
- JQuery - Ajax: encodeUriComponent不工作(EncodeUri工作)