Угловой асинхронный канал с RXJS: Как обновить данный объект? - PullRequest
0 голосов
/ 23 мая 2019

Давайте представим, что у меня есть простая наблюдаемая, которая возвращает текущего подключенного пользователя.

В моем шаблоне я просто вызываю пользователя, чтобы показать информацию его профиля.

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 ?

1 Ответ

0 голосов
/ 23 мая 2019
refreshUser(user) {
  this.userService.set(user: User).subscribe(() => this.$user = this.userService.get());
}

Позвоните своему установщику, а затем обновите наблюдаемое, предоставив ему новое значение.

Если наблюдаемое горячее и обновляется автоматически, вам не нужно ничего делать.

Могу ли я добавить, что если вы не используете горячие наблюдаемые и не примитивные типы, наблюдаемые бесполезны, так как Angular полагается на изменения ссылок на память для обновления представления, то есть достаточно просто установить пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...