codemorgan
@codemorgan

Как правильно связать директивы и сервисы в angular.js ?

Доброго времени.

Помогите разобраться с angular.
Не пойму как правильно реализовать следующее.

Есть директива, которая выводит прогресс: 80/100. Данные 80\100 берутся из сервиса, который получает данные через $resource.

В один прекрасный момент данные в сервисе обновляются (прогресс становится 90\100). Как сделать так, чтобы директива обновилась, при обновлении данных в сервисе?

Если можно, с примером кода.
  • Вопрос задан
  • 2496 просмотров
Пригласить эксперта
Ответы на вопрос 1
Как вариант можно поставить watch на переменную сервиса.

app.factory('YouService', function() {
    var progress = 90;

    getProgress: function() {
        return progress;
    }
});


app.directive('YouDirective', function(YouService) {
    return {
        restrict: 'E',
        ...
        ...
        link: function(scope, element, attrs) {
            scope.$watch(function () {
                return YouService.getProgress();
            }, function (progress) {
                console.log(progress);
            }
        });
    }
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы