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

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

jsfiddle.net/27xo9t5m/1
  • Вопрос задан
  • 2500 просмотров
Пригласить эксперта
Ответы на вопрос 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 заинжектите в контроллере, функция-конструктор сервиса выполнится один раз и впоследствии во всех местах приложения будет использоваться этот инстанс сервиса.
Следовательно такой сервис будет хранить свое состояние глобально для всего приложения.
Если это не является ответом на ваш вопрос, то значит вы сформулировали его неверно.
Ответ написан
Ваш ответ на вопрос

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

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