В приложении angular я получаю изображения аватаров с сервера и сохраняю их на карте, соответствующей некоторому идентификатору. Я использую ngx-avatar
для отображения этих изображений аватара.
У меня есть компонент Users и служба аватаров, содержащая карту, а компонент Users получает аватары от службы Avatar.
Теперь служба аватаров может обновить записи на карте, поэтому я хочу обновить аватары, отображаемые в компоненте «Пользователи».
Users Component:
<div> <!-- this is list item with an 'obj' --->
<ngx-avatar
mat-list-avatar
[src]="obj.avatar"
name="{{ obj.name }}"
initialsSize="2"
size="30"
></ngx-avatar>
{{ getAvatar(obj) }} <!-- I have to do this to keep checking whether the avatar is updated -->
</div>
getAvatar(obj) {
let avatar = this.avatarsService.getAvatarFromMap(obj.id);
obj.avatar = avatar;
}
Avatars Service:
private idAvatarMap = new Map<string, string>();
getAvatarFromMap(id: string) {
return this.idAvatarMap.get(id);
}
В коде ngx-avatar я не могу выполнить src="{{ getAvatar(obj) }}"
, поскольку получаю unsafe url
ошибки. Итак, я делаю этот хак {{ getAvatar(obj) }}
после окончания работы ngx-аватара.
Как правильно обновить аватар в этом случае?