Использую Ангуляр 1 версии.
Есть директива:
.directive('lives', ['freelive', 'liveNum', '$timeout', function(freelive, liveNum, $interval) {
return {
restrict: 'AE',
replace: true,
freelive: freelive,
templateUrl: 'templates/directives/lives.html',
link: function(scope, elem, attrs) {
scope.liveValue = liveNum.total;
$interval(function() {
liveNum.total = liveNum.total - 1;
console.info('UPDATED!');
}, 3000);
}
};
}]);
В данной директиве есть scope.liveValue который содержит значение из сервиса:
angular
.module('starter')
.value('liveNum', {
minimum: 0,
maximum: 20,
oneTouch: 1,
total: 20
});
При изменении значения в директиве liveNum.total = liveNum.total - 1; значение в template:
<div class="live-value">{{liveValue}}</div>
не изменяется.
Почему? Нужно ли использовать watchers для этого?