具有多个布尔值的Angular 5 BehaviorSubject

时间:2018-08-16 07:03:34

标签: angular

我提供了一项服务,可以监视组件中的数据更改并在另一个componenet中进行更新

service.ts

isValue: BehaviorSubject<boolean> = new BehaviorSubject(false);
cast = this.isValue.asObservable();
constructor() { }
chageValue() {
  this.isValue.next(!this.isValue.value);
}
}

child1.ts

isValue: boolean;
constructor(private sharedService: SharedService) { }
ngOnInit() {
  this.sharedService.castValue.subscribe(data => this.isValue = data);
}
changeValue() {
  this.sharedService.chanageValue();
  console.log('value: ' + this.isvalue);
}

Child2.ts

isValue: boolean;
constructor(private sharedService: SharedService) { }
ngOnInit() {
  this.sharedService.castValue.subscribe(data => this.isValue = data);
  console.log('value' + this.isValue);
  changeValue() {
    this.sharedService.chanageValue();
    console.log('value: ' + this.isvalue);
  }

现在我想要另一个布尔变量。所以,我想知道有没有一种方法可以添加它,而不仅仅是添加具有不同名称的相同块。

1 个答案:

答案 0 :(得分:1)

只需定义一个匿名类型:

PRAGMA AUTONOMOUS_TRANSACTION;