Задать вопрос

Как лучше сохранить состояние сервиса между модулями angular?

Имеется 2 модуля, которые используют 3 модуль. В 3 модуле есть сервисы, которые должны сохранять состояние на всем протяжении времени.
Можно тупо сохранить в глобальную область (window), но может есть angular-way?

jsfiddle.net/27xo9t5m/1
  • Вопрос задан
  • 2502 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • Академия Eduson
    Frontend-разработчик
    9 месяцев
    Далее
  • Учебный центр IBS
    WEB-022 Разработка на Angular. Продвинутый уровень
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
AMar4enko
@AMar4enko
При первой попытке ресолва сервиса в каком-либо месте вашего приложения он инстанцируется и остается жить до тех пор, пока приложение не завершится.
angular.module('my-module', [])
  .service('usefulService', function(){
      var usefulVar = 0;
      this.doSomethingUseful = function(){ userfulVar += 1; return usefulVar; };
      this.getUsefulVar = function(){ return usefulVar; } 
  });


Когда вы usefulService заинжектите в контроллере, функция-конструктор сервиса выполнится один раз и впоследствии во всех местах приложения будет использоваться этот инстанс сервиса.
Следовательно такой сервис будет хранить свое состояние глобально для всего приложения.
Если это не является ответом на ваш вопрос, то значит вы сформулировали его неверно.
Ответ написан
Ваш ответ на вопрос

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

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