模型中未更新AngularJS标记坐标
我正在尝试角度贴图,我遇到了一个问题,这个问题涉及到获取贴图标记位置,并在标记移动时显示它。但移动标记时,标记模型未更新。我使用了官方示例,通过更改dragend事件解决了这个问题。我使用apply来更改标记坐标值模型中未更新AngularJS标记坐标,angularjs,google-maps,Angularjs,Google Maps,我正在尝试角度贴图,我遇到了一个问题,这个问题涉及到获取贴图标记位置,并在标记移动时显示它。但移动标记时,标记模型未更新。我使用了官方示例,通过更改dragend事件解决了这个问题。我使用apply来更改标记坐标值 events: { dragend: function (marker, eventName, args) { $log.log('marker dragend'); $log.log(marker.getPosition().lat());
events: {
dragend: function (marker, eventName, args) {
$log.log('marker dragend');
$log.log(marker.getPosition().lat());
$log.log(marker.getPosition().lng());
$scope.$apply(function(){
$scope.marker.coords.latitude = marker.getPosition().lat();
$scope.marker.coords.longitude = marker.getPosition().lng();
});
}
}
可以看到完整的示例
但我对这种方法并不满意。是否有任何解决方案,我不需要将其放入此块来更新标记坐标
$scope.$apply(function(){
$scope.marker.coords.latitude = marker.getPosition().lat();
$scope.marker.coords.longitude = marker.getPosition().lng();
});
有两种方法可以将更新的数据发送到指令 $apply:如果要更新来自父控制器的数据,并且其他指令也使用相同的数据,请使用此命令。但是,在此函数之后,$digest将调用以更新局部变量。 $digest:如果要更新指令级范围变量,则可以直接调用此方法。