Внутри моего app.component у меня есть служба фонового режима, которая при совместном использовании через намерение передает значение поведению Subject
this._notification.setNotiService2(data.extras);
После входа в систему я устанавливаю корень на TabsPage
this.appCtrl.getRootNav().setRoot('TabsPage');
На странице вкладок я подписался на тему поведения, поэтому всякий раз, когда я получаю общий объект, я обрабатываю его и открываю модальное окно, отображающее требуемые значения. Изначально, когда приложение открывается, все работает нормально. Но как только мы входим/выходим из системы, возникает проблема. При выходе из системы я устанавливаю корневую страницу в качестве страницы входа.
this.appCtrl.getRootNav().setRoot('LoginPage');
Затем снова при успешном входе в систему установите root на страницу вкладок.
this.appCtrl.getRootNav().setRoot('TabsPage');
Теперь снова, если я делюсь значениями через намерение, несколько экземпляров модального окна открываются с одинаковыми значениями. Я проверил предмет поведения как null/undefined, но подписанное значение - только Ok. Записав значение из темы поведения внутри TabsPage, я обнаружил, что одна и та же функция (тема поведения по подписке) вызывается дважды.
Опять же, если я выхожу из системы / вхожу в систему, модальное окно открывается 3 раза, и число продолжает соответственно расти.