2016-03-12 63 views
0

在AngularApp中,随着模型更改,我如何保持值,可以说和输入字段更新?保持模型值在更改时更新?

例如,采取以下:

<input type="text" ng-model="ctrl.myvalue" /> 

控制器

vm.myvalue = "10";  
google.maps.event.addListener(map, 'zoom_changed', function() { 
    vm.myvalue = map.getZoom(); 
    console.log(map.getZoom()); 
}); 

上的负载,输入字段具有10作为值。但是,当我在此示例中更改地图上的缩放级别时,它不会更新。但是这些事件正在被解雇,因为我可以在控制台中看到正确的价值?

+0

这是什么'ctrl.myvalue'?它是一个控制器varialble或范围变量? –

回答

0

这可能是由于vm.myvalue在手表摘要循环中未被消解,因为您正在异步触发值更改。 。

检查,如果这个工程,

google.maps.event.addListener(map, 'zoom_changed', function() { 
    $scope.$apply(function(){ 
     vm.myvalue = map.getZoom(); 
    }); 
    console.log(map.getZoom()); 
    }); 
+0

完美的作品。谢谢! :) – brother

0

做在angularjs的双向数据绑定,myvalue的变量必须是一个范围变量,所以你的代码应该是这样的:

<input type="text" ng-model="myvalue" /> 



$scope.myvalue = "10";  
google.maps.event.addListener(map, 'zoom_changed', function() { 
    $scope.myvalue = map.getZoom(); 
    console.log(map.getZoom()); 
});