在共享服务的组分通信

问题描述 投票:-1回答:1

如果你是在一个组件是什么,你想从另一个组件触发的方法?您可以在其他三种方式实现这一目标,了解更多关于此page。在这里,我想告诉你,展示了如何实现这一目标的最简单的可能的例子。

enter image description here

比方说,我们有2个部件需要通过共享服务进行通信。比方说,我们是在导航组件,我们希望从主要成分触发方法。

angular
1个回答
0
投票

进入导航组件和创建引用共享服务的方法。

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);
});
© www.soinside.com 2019 - 2024. All rights reserved.