对于我的应用程序,我必须与2个组件进行通信,但这些组件没有父子关系。
我使用服务来设置此通信。当我点击按钮时……
您的服务沟通一定存在问题,就我使用它而言,对我来说工作正常。 确保在要在其中接收任何值的组件的构造函数中订阅该服务。 在你的情况下,
import { Subject,Observable, of } from 'rxjs'; code for service : public methodForRender = new Subject<any>(); renderMe = this.methodForRender.asObservable(); callMethodToRender(value) { this.methodForRender.next(value); } code for component 1 : which is triggering function! constructor(private callingBridge: SharedService) {} this.callingBridge.callMethodToRender(this.value); code for component 2 : which should be subscribed to service constructor(private callingBridge: SharedService) {} this.callingBridge.renderMe.subscribe( (value) => { // do your stuff // call your function here to render html } );
我希望它会对你有所帮助!