Использование углового сервиса для обмена данными между контроллерами

Я пытаюсь, чтобы два разных контроллера общались друг с другом.

Контроллер 1

function WelcomeCtl($scope, emailService) {
    $scope.save=function(){
        emailService.saveEmail(‘Hi’);
        }
}

WelcomeCtl.$inject = [$scope, emailService];

Этот контроллер предназначен для извлечения текста из текстового поля (с ng-model = 'email') и помещения текста в сервис (emailService), чтобы его можно было использовать в следующем ng-представлении (которое контролируется следующим контроллер)// в целях тестирования я просто помещаю «Hi» непосредственно в функцию saveEmail

Контроллер 2

function SignupCtl($scope, emailService) {                                           
    window.alert(emailService.getEmail())
}

SignupCtl.$inject = [$scope, emailService];

Для целей тестирования я использую window.alert для отображения значения getEmail ()

emailService

angular.module('myApp.services', [])
       .service('emailService', function (){
           var text =”start value”;
           return{
               saveEmail:function (data){
                  text  = data;

              },
              getEmail:function (){
                  return text;
              }
          };
      });

В результате использования Controller1 и Controller 2, как указано в этом сервисе, window.alert печатает «начальное значение» вместо «Hi»

Когда я помещаю в код дополнительные функции window.alert, чтобы увидеть, что происходит, я вижу, что при вызове save () контроллер 1 выполняет и сохраняет значение в сервисе, а express.js загружает следующую страницу. Затем Controller2 активируется. Когда контроллер 2 активирует, он повторно инициализирует службу, возвращая тексту «начальное значение». Затем, когда вызывается getEmail, он возвращает значение «начальное значение»

Это смущает меня, потому что у меня сложилось впечатление, что службы не инициализируются каждый раз, когда они включаются в контроллер.

Консультируемые ресурсы.
Лучший дизайн для передачи данных в другие ng-view и сохранения их на контроллерах

Я также работаю над угловым экспресс-семенем https://github.com/btford/angular-express-seed

Ответы на вопрос(2)

Ваш ответ на вопрос