javascript - 如何在Angular中过滤和显示关于文本的图像
问题描述
我想显示资产文件夹中关于我在 API 响应中得到的国家代码的标志图像。
HTML:-
<div class="details_container" *ngFor="let contacts of keycontact">
<img src="../../../../assets/images/flags/usa.jpg" class="logo">
<p class="name_font font_white">{{contacts.purpose}}</p>
<p class="name_font font_white">{{contacts.contactNumber}}</p>
</div>
组件文件:-
ngOnInit(): void {
//initialize
this.keycontact = this.keyContactService.getKeyContacts()
//Subscribe
this.keyContactService.updatedkeyContacts.subscribe((contacts)=>{
this.keycontact = contacts
console.log(this.keycontact);
})
// Api Call
this.keyContactApis.fetkeyContDetails();
}
回应为:-
{
"id": 28,
"purpose": "HR related queries",
"contactNumber": "+1 201-350-8620",
"contactPerson": "Abhishek Kaashyap",
"location": "NA",
"employeeSubsidiary": "LLC",
"region": "US",
"workCity": "US",
"beforeFlip": "NULL",
"initials": "HR"
},
{
"id": 29,
"purpose": "HR related queries",
"contactNumber": "+91 995-350-8620",
"contactPerson": "Abhishek Kaashyap",
"location": "NA",
"employeeSubsidiary": "LLC",
"region": "IND",
"workCity": "IND",
"beforeFlip": "NULL",
"initials": "HR"
}
响应是动态的,对象更多。我如何选择密钥并检查 text = US 或 IND 或更多其他国家/地区,并相应地在 HTMLregion
中传递标志图像路径?<img>
解决方案
您可以像在 p 标签中那样使用Angular Intepolation :
<p class="name_font font_white">{{contacts.purpose}}</p>
所以你的 img 标签看起来像这样:
<img src="../../../../assets/images/flags/{{contacts.region}}.jpg" class="logo">
编辑
使用Property Bindng,您可以使用以下方法动态获取文件:
<img [src]="getFlag(contacts.region)" class="logo">
并在您的 .ts 文件中声明一个方法:
public getFlag(region: string): string {
// your logic
}
推荐阅读
- html - 如何在 Angular 7 中以表格格式呈现输入字段标签和文本框?
- javascript - 在 Javascript 中使用循环在每次迭代中修改不同的变量
- android - React Native App 不适用于树莓派
- docker - 通过 ssl 从 celery 连接到 redis 后没有响应
- sql - Oracle SQL 选择查询比较 2 列
- python-3.x - 对多页 URL 的 GET 请求和 400 错误请求
- ant - 从文件中加载内容作为 ant 中的参数
- google-cloud-spanner - Cloud Spanner - 插入或更新和增加 DML?
- c++ - 班级成员和中断
- typescript - 如何修复找不到名称“设置”