如果你是在一个组件是什么,你想从另一个组件触发的方法?您可以在其他三种方式实现这一目标,了解更多关于此page。在这里,我想告诉你,展示了如何实现这一目标的最简单的可能的例子。
比方说,我们有2个部件需要通过共享服务进行通信。比方说,我们是在导航组件,我们希望从主要成分触发方法。
进入导航组件和创建引用共享服务的方法。
import { SharedService } from 'app/services/sharedService.service';
constructor(private service: SharedService){}
// Say Hello from another component
SayHello(message) {
this.service.CallComponentMethod(message);
}
现在打开角度的服务,创造主题和方法发布主题。
import { Subject } from 'rxjs/Subject'; // don't forget to import it!
public pushMessage = new Subject<any>();
CallComponentMethod(message) {
this.pushMessage.next(message);
}
更多关于主题您可以将此[页码]上阅读[2]。
现在,打开主要成分,并从订阅共享服务主题。
import { SharedService } from 'app/services/sharedService.service';
constructor(private service: SharedService){}
this.service.pushMessage.subscribe((x) => {
console.log('This is a message sent from the navigation component: ' + x);
});