Я ищу способ обновить sh коллекцию наблюдаемых, которые отображаются в шаблоне ASYN C способом, когда пользователь изменяет переменную / свойство на сайте.
Сценарий прост: у нас есть несколько учетных записей, за которыми следят наши CSR, они входят в систему с профилем, а затем им предоставляется возможность изменить / просмотреть другую учетную запись.
Когда учетная запись изменяется, я испустить изменение учетной записи через BehaviorSubject и подписаться на событие в другом месте моего приложения, в качестве аргумента, /users.
В компоненте пользователей у меня есть несколько Observable, представляющих данные на этой странице (различные данные заканчиваются точек), и я подписываюсь на них в шаблоне с помощью конвейера «asyn c».
Я хочу обновить эти наблюдаемые, когда я получаю подтверждение, что выбор учетной записи был сделан.
Я рассмотрел возможность добавления субъектов поведения в веб-службы, но это не работает. Пометка страницы для изменений или запуск проверки изменений на странице также не имеет никакого эффекта.
Для справки:
users$: Observable<User[]>;
/** onInit **/
this.users$ = this.service.retrieveusers(); // returns Observable<User[]>
this.accountService.changed.subscribe(x => {
this.users$ = this.service.retrieveusers(); // this does not work because it's unaware of changes
});
Я попытался заключить вызов в новый BehaviorSubject на основе некоторых сообщений, которые я прочитано, но тоже не имеет эффекта;
update = new BehaviorSubject<boolean>(false);
/** onInit **/
this.users$ = this.service.retrieveusers(); // returns Observable<User[]>
this.accountService.changed.subscribe(x => {
this.update.next(true);
});
this.update.subscribe(x => {
this.users$ = this.service.retrieveusers(); // this does not work because it's unaware of changes
});
Вышеупомянутое также не имеет никакого эффекта.
Как мне go об обновлении пользователей $ при запуске accountService.changed?