angular - Angular 5在调用两个链接对象时列出ngFor
问题描述
所以我有一个banks
看起来像这样的数组:
[{id: 17, bankname: "A", account_number: "0609849432", branch: "",…},
{id: 114, bankname: "B", account_number: "1231241414", branch: null,…},
{id: 142, bankname: "A", account_number: "34234234", branch: null,…}]
我也有一个bank_image
这样的数组:
[{id: 4, bankname: "A", image: "www.foo.bar/imageA.jpg",…},
{id: 7, bankname: "B", image: "www.foo.bar/imageB.jpg",…},
{id: 14, bankname: "C", image: "www.foo.bar/imageC.jpg",…}]
对于视图,我使用ngFor
列出银行。但是,我也想链接银行图像数组中的图像,所以它看起来像这样。
<tr *ngFor="let item of banks">
<td>{{item.name}}</td>
<td>{{item.account_number}}</td>
<td>{{item.image}}</td> //how do I link the image?
</tr>
bank_image.name
在==中获取图像的正确方法是什么banks.name
?
期望的输出:
A 0609849432 www.foo.bar/imageA.jpg
B 1231241414 www.foo.bar/imageB.jpg
A 34234234 www.foo.bar/imageA.jpg
解决方案
映射您的banks
数组以创建一个具有您需要的所有属性的新数组,然后在 HTML 中使用新数组。
const banks = [{
id: 17,
bankname: "A",
account_number: "0609849432",
branch: ""
},
{
id: 114,
bankname: "B",
account_number: "1231241414",
branch: null
},
{
id: 142,
bankname: "A",
account_number: "34234234",
branch: null
}
]
const bank_images = [{
id: 4,
bankname: "A",
image: "www.foo.bar/imageA.jpg"
},
{
id: 7,
bankname: "B",
image: "www.foo.bar/imageB.jpg"
},
{
id: 14,
bankname: "C",
image: "www.foo.bar/imageC.jpg"
}
]
const newArr = banks.map(x => {
return {
...x,
image: bank_images.find(y => y.bankname === x.bankname).image
}
})
console.log(newArr)
推荐阅读
- r - 合并数据框的列以仅在 r 中保持相等的值
- javascript - 在不使用 useState 的情况下实时反应本机读取的 TextInput 值
- django - django 模型中的名字
- android - Google Play 商店会自动更新应用程序吗?
- arduino - Arduino Mega:如何使用相同的经过验证的 RFID 标签并使用按钮切换 LED 的颜色?
- reactjs - 努力在样式对象上使用扩展运算符。我正在尝试保留多个属性,但无法弄清楚如何干净地做到这一点
- python - 谁能在 python 中解释为什么调用 super().__init__() 时调用子类中的 setter 方法
- flutter - FlutterFragmentActivity 不再打开应用程序
- python - PySpark - 枢轴所需的聚合表达式,找到'pythonUDF'
- node.js - 如何使用 firebase auth 正确验证服务器发送事件端点?