I have the following controller:
app.controller('MyCtrl', function($interval, $scope) {
$scope.foo = 2;
$interval(function() {
console.log($scope.foo);
}, 1000);
});
And the following code in my view:
<input type="text" ng-model="foo" />
When I load the page, the input is correctly populated with the value "2". However, if I change the value in the input, the console continues to log "2" (without quotes).
I've used an $interval
just to illustrate - with $watch()
the callback only fires once and then never again. If I use ng-change=""
on the input, then $scope.foo
in the callback is always equal to 2.
What am I doing wrong?