$digest
by Santosh Thakur
HTML
<div ng-app="myApp">
<div ng-controller="MessageController">
Delayed Message: {{message}}
</div>
</div>
JavaScript
/* What happens with $apply */
angular.module('myApp', []).controller('MessageController', function($scope) {
$scope.getMessage = function() {
$scope.message = 'Fetched after 3 seconds';
setTimeout(function() {
$scope.$watch(function() {
//wrapped this within $apply
$scope.message = 'Fetched after 4 seconds';
console.log('message:' + $scope.message);
});
$scope.$apply();
}, 2000);
}
$scope.getMessage();
});