我有以下html
<input id="zoom" name="zoom" style="width:100px" type="text" ng-model="user.zoomlvl">
当我运行以下内容时,它会更新上面的html输入字段
google.maps.event.addListener(map, 'zoom_changed', function() {
mapZoom();
});
function mapZoom(){
valZoom = map.getZoom();
$('#zoom').val(valZoom);
}
但$scope.user.zoomlvl
更新了输入字段时,zoom_changed
仍然无法更新。
答案 0 :(得分:3)
如果您使用的是不属于Angular的事件(例如zoom_changed
),则他们不会像$scope.$apply()
那样在最后运行ng-click
。这就是为什么你的$scope
没有更新的原因。因此,在您的活动中,您需要添加$scope.$apply()
function mapZoom(){
valZoom = map.getZoom();
//$('#zoom').val(valZoom);
// This is also probably better
$scope.user.zoom1v1 = valZoom
$scope.$apply();
}