gpt4 book ai didi

angular - 避免在 Angular 的 [src] 中重新加载图像

转载 作者:行者123 更新时间:2023-12-03 17:15:56 26 4
gpt4 key购买 nike

我有一个应用程序,它显示带有个人资料图片的用户列表。
当我更新此用户的值时,图像会重新加载,因为可观察列表再次发出所有数据。
我怎样才能避免这种情况?

<div *ngFor="let user of users">
<img [src]="user.profilepic"/> {{user.name}} <button (click)="updateUser(user)">Update</button>
</div>
TS:
this.userProvider.getUserList()
.distinct()
.subscribe(data => {
this.users = data
})
我希望这个 distinct() 函数能完成这项工作,但没有成功..
该应用程序是使用 ionic 3 结合 firebase 实时数据库数据和使用公共(public) url 下载的 firebase 存储图片制作的
编辑
3年后,我在另一个应用程序中面临同样的问题......
每次从我的 Observable 中进入时,图像都会闪烁(所以我认为它会刷新?)
enter image description here

最佳答案

您需要使用 trackBy .

<div *ngFor="let user of users; trackBy: trackBy">
<img [src]="user.profilepic"/> {{user.name}} <button (click)="updateUser(user)">Update</button>
</div>
然后在您的组件中定义:
public trackBy(index, user) {
return user.id; // or any other identifier
}
这将阻止 Angular 在 DOM 中创建元素。

关于angular - 避免在 Angular 的 [src] 中重新加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48530770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com