I'm trying to figure out why directive's controller doesn't update data
angular.module('sample', [])
.directive('countdown', function () {
function CountdownController() {
var countdownController = this;
countdownController.digit = 5;
setTimeout(function () {
console.log('fired');
countdownController.digit = 200;
}, 3000);
}
return {
restrict: 'E',
controller: CountdownController,
controllerAs: 'countdownController',
bindToController: true,
template: '{{countdownController.digit}}'
}
});
https://jsfiddle.net/mghs52my/
I know I can use $scope.$apply() to force changes, but why should I do that?