【发布时间】:2021-11-29 19:10:20
【问题描述】:
我对 angular 中的 behaviorSubjects 有疑问
让我们用示例代码描述一个问题
我有这样的服务
export class DataService {
private _data$ = new BehaviorSubject<any[]>([]);
public get data() {
return this._data$.asObservable();
}
getDataFromServer() {
this.http.get(...).subscribe((res) => {
this._data$.next(res)
})
}
}
我也有两个这样的组件
export class componentA {
data : any[] = []
constructor(private dataService:DataService) {}
ngOnInit() {
this.dataService.data.subscribe((res) => {
this.data = res
})
}
}
export class componentB {
data :any[] = []
constructor(private dataService:DataService) {}
ngOnInit() {
this.dataService.data.subscribe((res) => {
this.data = res
})
}
}
并在两个组件的模板中显示数据数组我的问题是,当我从 componentB 更改 behaviorSubject 的数据时,componentA 中的数据已更改,我希望它们具有不同的 behaviorSubject 实例
【问题讨论】: