行为主题的使用是否会频繁影响应用程序性能?

时间:2019-04-26 13:01:24

标签: angular rxjs

我在我们的应用程序中使用Angular7.x。 行为主题的使用数量不断增加。 会影响应用程序性能吗? 如果是这样,请提供BehaviourSubjects的其他任何替代方法。

1 个答案:

答案 0 :(得分:0)

如果您不取消订阅BehaviourSubject,则有可能发生内存泄漏,因此您也可以使用 @Output

这是示例

**shared-service**
import { Injectable, Output, EventEmitter } from '@angular/core';
export class SharedService {
  @Output() sendData: EventEmitter<any> = new EventEmitter();
}

**component-one**
import { SharedService } from './shared.service';
export class ComponentOneComponent implements OnInit {
 constructor(public sharedService: SharedService) {
    this.emitData();
 }
 emitData() {
 // this component is emit the data
 this.sharedService.sendData.emit('message from component one');
 }
}

**component-two**
import { SharedService } from './shared.service';
export class ComponentTwoComponent implements OnInit {
 constructor(public sharedService: SharedService) {
 }
ngOnInit() {
    this.sharedService.sendData.subscribe(data=> {
      console.log(data); // here you can get the data from component one
    });
  }
}

希望它能对您有所帮助。