访问行为主题的值
Access values of Behavior Subject
我意识到 Whosebug 上有几个关于此的问题,我仍在努力解决这些问题。
我正在尝试访问行为主题的值,但显然理解不够,无法到达那里。我已经通读了 rxjs 文档和其他各种资源。我已经尝试创建一个新的 BehaviourSubject,使用 next,订阅它等等。还尝试使用 pipe & map 来映射它。
this.theService.items$
是一个 Observable - Behavior Subject,它有一个私有字段 _values,我试图访问它但不能。然后将其投影到一个变量,以便我可以访问字段值并在我的组件中使用。
items$ 是一个 getter 来检索 observable
private _items$ = new BehaviorSubject<T[]>([]);
get items$() {
return this._items$.asObservable();
}
我想要这样的东西,这是我发现的,但没有根据它的 id 找到项目
public model: IModel;
this.theService.items$.pipe(
map(items => <IModel>items.find(item => item.ID === this.id))).subscribe(item => {
this.model = item
});
任何指点将不胜感激。
如果您想直接从 BehaviorSubject
获取值 - 您需要调用 BehaviorSubject.value
.
这样您就可以在您的服务中公开方法:
private _items$ = new BehaviorSubject<T[]>([]);
get items$() {
return this._items$.asObservable();
}
get items() {
return this._items$.value;
}
我意识到 Whosebug 上有几个关于此的问题,我仍在努力解决这些问题。
我正在尝试访问行为主题的值,但显然理解不够,无法到达那里。我已经通读了 rxjs 文档和其他各种资源。我已经尝试创建一个新的 BehaviourSubject,使用 next,订阅它等等。还尝试使用 pipe & map 来映射它。
this.theService.items$
是一个 Observable - Behavior Subject,它有一个私有字段 _values,我试图访问它但不能。然后将其投影到一个变量,以便我可以访问字段值并在我的组件中使用。
items$ 是一个 getter 来检索 observable
private _items$ = new BehaviorSubject<T[]>([]);
get items$() {
return this._items$.asObservable();
}
我想要这样的东西,这是我发现的,但没有根据它的 id 找到项目
public model: IModel;
this.theService.items$.pipe(
map(items => <IModel>items.find(item => item.ID === this.id))).subscribe(item => {
this.model = item
});
任何指点将不胜感激。
如果您想直接从 BehaviorSubject
获取值 - 您需要调用 BehaviorSubject.value
.
这样您就可以在您的服务中公开方法:
private _items$ = new BehaviorSubject<T[]>([]);
get items$() {
return this._items$.asObservable();
}
get items() {
return this._items$.value;
}