正确地改变 BehaviorSubject 对象
Correctly Mutating BehaviorSubject Object
这是我的 Angular 服务的一部分:
private user = new User();
private user$ = new BehaviorSubject < User > (this.user);
public getUser(): Observable < User > {
return this.user$.asObservable().share();
}
public setUser(user: User) {
this.user$.next(user);
}
仅更改 user
中的一个 field/property 并重新发送整个对象的正确方法是什么?
您可以将您的状态建模为 scan
个事件。每个事件都会从之前的事件中生成新的状态(没有突变)。
看看这个例子 -
这是我的 Angular 服务的一部分:
private user = new User();
private user$ = new BehaviorSubject < User > (this.user);
public getUser(): Observable < User > {
return this.user$.asObservable().share();
}
public setUser(user: User) {
this.user$.next(user);
}
仅更改 user
中的一个 field/property 并重新发送整个对象的正确方法是什么?
您可以将您的状态建模为 scan
个事件。每个事件都会从之前的事件中生成新的状态(没有突变)。
看看这个例子 -