angular - 用管道加载的 img src 未知
问题描述
我正在尝试使用管道加载 img src,我在控制台日志中看到了正确的结果,但图像的 src 仍然未知。
- 我正在从 firebase 加载一些数据,从那里我有 comment.email
- 之后使用管道,我使用 comment.email 来查找图像
这是我的代码:
<img [src]="comment.email | getImage">
transform(value: string){
this.firestore.getRegistration(value).subscribe(ressData => {
const userAdditionalData = ressData.map(e => {
return {
id: e.payload.doc.id,
...e.payload.doc.data() as UserAdditionalInfo
}
})
console.log(userAdditionalData[0].userImg);
return userAdditionalData[0].userImg;
})
}
我可以在控制台日志中看到结果,这是正确的 img url,但 img src 仍然未知。
解决方案
在您的管道中,您订阅了一个 observable 并从您的订阅中返回一个完全没有效果的值。你应该做的是从你的管道返回一个可观察的,并async
在你的管道之后使用管道。
transform(value: string){
return this.firestore.getRegistration(value).pipe(map (ressData => {
const userAdditionalData = ressData.map(e => {
return {
id: e.payload.doc.id,
...e.payload.doc.data() as UserAdditionalInfo
}
})
console.log(userAdditionalData[0].userImg);
return userAdditionalData[0].userImg;
}))
}
用法 :
<img [src]="comment.email | getImage | async">
推荐阅读
- javascript - 从 python API 获取 JSON
- angular - Angular 5 Excel Office App 通信未从对话框到任务窗格
- c# - WPF 从异步方法更新 UI
- python - Python散列二分搜索
- django - Django:加载 iframe 时如何获取父 url
- sqlite - 在 Android Studio 中将项目添加到第二个表 SQLite 什么都不做
- java - 如何在旋转后重新创建 LinearLayout 视图?
- javascript - 需要帮助自动刷新离线页面
- python - 从其他项目模块上的函数调用 JSON 数据以用于请求
- python - 数据框并在 for 循环中更新新列值