Angular5操作其他组件的Html没有子/父关系

时间:2018-06-08 07:56:30

标签: html angular communication

对于我的应用程序,我必须与2个组件进行通信,但这些组件没有父子关系。

我使用服务来设置此通信。当我点击component1上的按钮时,我触发了compenent2中的一个功能。 Normaly当我从component2触发它时,这个函数改变了component2的html。但是,当我从component1触发它时,没有任何反应。当component1触发component2中的函数时,有没有办法重新加载/更新HTML?

太多了!

1 个答案:

答案 0 :(得分:0)

对于您的服务通信一定存在问题,就我使用它而言,对我来说工作正常。 确保在要在其中接收任何值的组件的构造函数中订阅该服务。 在你的情况下,

 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
       }
    );    

我希望它会对你有所帮助!