Подпишитесь на одно событие на разных страницах несколько раз - PullRequest
0 голосов
/ 19 октября 2018

Можно ли опубликовать одно событие на одной странице и подписаться несколько раз на разных страницах.Вот так ..

handleClick(){
  this.events1.publish('my-message', '? Hello from page1!');
}


export class Page1Page {
  constructor(public events1: Events) {
     events1.subscribe('my-message', (data) =>{
       console.log(data); // ? Hello from page1!
     });
  }
}


export class Page2Page {
  constructor(public events1: Events) {
     events1.subscribe('my-message', (data) =>{
       console.log(data); // ? Hello from page2!
     });
  }
}

Это хорошая практика?Или этот код выдает ошибку?

1 Ответ

0 голосов
/ 19 октября 2018

OK.Вот мой взгляд на это.Я вижу 3 фрагмента головоломки:

1) Вам нужно что-то рассказать о подключении к сети.Я бы начал с плагина Network cordova-plugin-network-information, который обернут Ionic Native .

2). Вы должны создать Angular сервис / провайдер, который работает с этим сетевым плагином, чтобы знать сетьизменения.Затем он может предоставить эти данные для использования страницами (и при необходимости вызвать события).Также имейте в виду, что приложение, скорее всего, будет обновляться только после его запуска, поэтому вы можете получить текущий статус ready (запуск) и resume (открытие из фона).См. Ionic Platform для этих хуков.

3) Ваши страницы могут затем использовать этот сервис / провайдера со # 2 для отображения текущего онлайн-статуса (и, возможно, отслеживать изменения, если вам нужен пользовательский интерфейс)оповещать об изменениях, а не просто отображать текущий статус).

...