在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 :(得分: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());
});