@ ответ яшпатателя - это качественный ответ и лучшая практика. Однако мне потребовалось много времени, чтобы разобраться с библиотекой rxjs, как будто она используется в этих примерах кода.
Если вы ищете, возможно, более простое решение, которое все еще является приличной техникой кодирования, я бы посмотрел на Ionic Events.
Лучший учебник, который я видел, на Alligator.io:
По сути, вы можете делать то, что делается в другом ответе, но в основном на одной странице / компоненте / разделе вашего сайта вы можете сделать это:
handleClick(){
this.events1.publish('my-message', '? Hello from page1!');
}
А потом в другом, вы можете сделать это:
constructor(public events2: Events){
this.events2.subscribe('my-message', (data) =>{
console.log(data); // ? Hello from page1!
});
}
Все, что вам нужно сделать, это убедиться, что вы импортировали систему Events
, а затем внедрили ее в свой конструктор, так же, как вы это делали бы с любым обычным сервисом.
Импортировать так:
import { Events } from 'ionic-angular';
Внедрить так:
constructor(public events: Events){
}