【发布时间】:2019-08-28 13:25:10
【问题描述】:
我有一个头像组件,它获取用户 ID 并在链接中搜索用户头像,并将其显示在 IMG 标记中
<ion-avatar [ngClass]="cssClass">
<img
[src]="avatar"
onError="this.src='assets/images/profile1.jpg'" />
</ion-avatar>
getAvatar() {
this.userService.getAvatar(this.channelId)
.subscribe(res => {
this.avatar = res;
});
}
但是当我调用一个函数来改变用户头像时
this.userService.changeProfilePicture(picture, this.myChannelId).subscribe(...);
个人资料图片在此链接内更新,网址保持不变,但即使我销毁组件并重新加载它,它也不会在视图中更新。每次重新加载页面时,我都尝试创建一个随机时间戳并将其附加到链接中。这很好用,但在内存中多次加载相同的图像。
当我更改个人资料图片时,是否可以使用 ChangeDetection 来告诉视图更新?
getAvatar() 函数是一个发出链接的可观察对象,我不知道这是否有效
getAvatar(channelId): Observable<string> {
return new Observable(o => {
o.next(`link to the avatar with the specific channel id`);
o.complete();
});
}
【问题讨论】:
-
你能创建一个 stackblitz 演示来显示问题吗?
标签: angular observable ionic4 angular-changedetection