处于同一级别的另一个组件的访问按钮

时间:2018-08-21 04:52:49

标签: angular angular-material angular5 angular2-template angular-ui

当我通过websocket接收到一些值时,我想在组件1中使用websocket,但我想更改组件2中处于断开连接状态的按钮的状态。为此,我使用了事件发射器,但它不起作用

2 个答案:

答案 0 :(得分:0)

您可以实现使用主题/行为主题。

服务:

public subject: BehaviorSubject = new BehaviorSubject<any>('');
public subject$ = subject.asObservable();

组件1:

service.subject.next('change');

组件2:

service.subject$.subscribe((value)=>{
  if(value){

  }
});

答案 1 :(得分:0)

像这样使用主题

在service.ts中:

subject = new Subject<any>();

在component1.ts中:

commonService.subject.next('change');

并在component2.ts中订阅更改事件

ngOnInit() {

    this.commonService.subject.subscribe(res => {
            this.some_var = res;
    });
}