Что, если вы находитесь в одном компоненте и хотите запустить метод из другого компонента? Вы можете добиться этого тремя другими способами, подробнее читайте в страница. Здесь я хочу показать вам простейший пример того, как этого добиться.
Допустим, у нас есть 2 компонента, которым необходимо обмениваться данными через общую службу. Допустим, мы находимся в компоненте навигации и хотим запустить метод из компонента Main.





Go to Navigation Component and create a method that reference shared service.
import { SharedService } from 'app/services/sharedService.service';
constructor(private service: SharedService){}
// Say Hello from another component
SayHello(message) {
this.service.CallComponentMethod(message);
}
Now open Angular Service and create Subject and method for publishing subject.
import { Subject } from 'rxjs/Subject'; // don't forget to import it!
public pushMessage = new Subject<any>();
CallComponentMethod(message) {
this.pushMessage.next(message);
}
Подробнее о предметах вы можете прочитать на этой [странице] [2].
Now open Main Component and subscribe subject from shared service.
import { SharedService } from 'app/services/sharedService.service';
constructor(private service: SharedService){}
this.service.pushMessage.subscribe((x) => {
console.info('This is a message sent from the navigation component: ' + x);
});
Хороший. В чем именно заключается ваш вопрос?