我有一个应用程序,它显示带有个人资料图片的用户列表。当我更新此用户的值时,图像会重新加载,因为可观察列表再次发出所有数据。我怎样才能避免这种情况?
<div *ngFor="let user of users">
<img [src]="user.profilepic"/> {{user.name}} <button (click)="updateUser(user)">Update</button>
</div>
Run Code Online (Sandbox Code Playgroud)
TS :
this.userProvider.getUserList()
.distinct()
.subscribe(data => {
this.users = data
})
Run Code Online (Sandbox Code Playgroud)
我希望这个 distinct() 函数可以完成这项工作,但没有成功。该应用程序是用 ionic 3 结合 firebase 实时数据库数据和使用公共 url 下载的 firebase 存储图片制作的
编辑
3 年后,我在另一个应用程序中遇到了同样的问题......每次从我的 Observable 进入时,图像都会闪烁(所以我认为它会刷新?)
是否允许在同一个 firestore 集合上有多个 onWrite 触发器?我的云函数中已经有一个 onWrite 事件:
exports.modifyUser = functions.firestore.document('users/{userId}')
.onWrite((change, context) => {
...
}
Run Code Online (Sandbox Code Playgroud)
再来一份可以吗?我知道我可以将它组合在同一个触发器中,但我的应用程序已经投入生产,我真的不想通过弄乱现有的数据库触发器来破坏任何东西。