假设我有一个简单的可观察对象,它返回了当前连接的用户。
在我的模板中,我只是打电话给用户以显示其个人资料信息。
public $user: Observable<User>;
ngOnInit() {
this.$user = this.userService.get();
}
我的观点:
<div *ngIf="$user | async as u">
...
<ion-toggle [(ngModel)]='u.synchronized'></ion-toggle>
</div>
显示效果很好,我确实听说使用Angular的异步管道对稳定性,可读性和性能更好。
达到this.userService.set(user: User);
的最佳方法是什么?我在用户个人资料中更改了一些信息,但是通过API更新信息的最佳方法是什么?
答案 0 :(得分:0)
refreshUser(user) {
this.userService.set(user: User).subscribe(() => this.$user = this.userService.get());
}
调用您的二传手,然后通过提供新值来刷新可观察值。
如果可观察对象是热门并已自动更新,则您无需执行任何操作。
我还要补充一点,如果您不使用热的可观察变量和非原始类型,则可观察变量是无用的,因为Angular依赖于内存引用更改来更新视图,这意味着仅设置用户就足够了。