У меня есть некоторые входные элементы ng-модели, которые обновляются функциями, отличными от angularJS, такими как jquery или иногда с помощью чистого javascript DOM apis. Значение элемента ввода html изменяется, однако переменная области видимости модели не обновляется. Есть ли способ заставить angular обрабатывать эти обновления?
app.js
По истечении 5 секунд значение 1 изменяется на 999. Это отражено в html, но не в $scope.val.
angular.module('inputExample', [])
.controller('ExampleController', ['$scope', '$timeout',function($scope,$timeout) {
$scope.val = '1';
$timeout(function(){
document.getElementById("myid").value = 999;
},5000)
}]);
html
<form name="testForm" ng-controller="ExampleController">
<input id="myid" ng-model="val" ng-pattern="/^\d+$/" name="anim" class="my-input"
aria-describedby="inputDescription" />
<div>
{{val}}
</div>
</form>
Я также сохранил код в плункере http://plnkr.co/edit/4OSW2ENIHJPUph9NANVI?p=preview