保持模型值在更改时更新?

时间:2016-03-12 11:33:27

标签: angularjs

在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。但是,当我在此示例中更改地图上的缩放级别时,它不会更新。但事件正在被解雇,因为我可以在控制台中看到正确的值?

2 个答案:

答案 0 :(得分:0)

这可能是因为vm.myvalue没有在watch-digest循环中被消化,因为你是异步触发值更改。

检查是否有效。

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

答案 1 :(得分: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());
});