Angular 从嵌套数据集中映射值
我试图映射特定数据集中的某些值,但无法获取所有数据 *数据集*Angular 从嵌套数据集中映射值,angular,Angular,我试图映射特定数据集中的某些值,但无法获取所有数据 *数据集* this.medOptions = [ { "selectedMAP": [ { "mapId": 1, "mapName": "medtest3", "options": [ { "optionId": 1,
this.medOptions = [
{
"selectedMAP": [
{
"mapId": 1,
"mapName": "medtest3",
"options": [
{
"optionId": 1,
"optionName": "medoptiontest3",
"optionPrice": 1000
}
]
},
{
"mapId": 2,
"mapName": "medtest4",
"options": [
{
"optionId": 2,
"optionName": "medoptiontest4",
"optionPrice": 2000
}
]
}
]
}
]
映射函数
目前,我可以使用[0]获取第一组值,但我很难动态获取所有值
模型
HTML
{{plan.providerName}}:{{plan.name}-R{{plan.amount}编号:''en'}
如何在映射函数中获取数据集中的所有值?而不是在
上循环。medOptions
您应该在medOptions[0]上循环。选择地图来映射数据
const-medpoptions=[
{
“选定地图”:[
{
“mapId”:1,
“地图名称”:“medtest3”,
“选择”:[
{
“选项ID”:1,
“optionName”:“medoptiontest3”,
“期权价格”:1000
}
]
},
{
“mapId”:2,
“mapName”:“medtest4”,
“选择”:[
{
“选项ID”:2,
“optionName”:“medoptiontest4”,
“期权价格”:2000年
}
]
}
]
}
];
函数getObj(arr){
返回{
dynamicPlanOptions:medOptions[0]。已选择map.map(x=>({
选:错,
名称:x.options[0]。optionName,
金额:x.options[0]。optionPrice
}))
};
}
设y=getObj(medOptions);
控制台日志(y)
canmedOptions
array是否有多个对象???@programoholic否它将始终有1个可粘贴输出JSON?
initDynamicMedicalAidModel(): TemplateDynamicMedicalAid {
return {
dynamicPlanOptions: this.medOptions.map(x => ({
isSelected: false,
name: x.selectedMAP[0].options[0].optionName,
amount: x.selectedMAP[0].options[0].optionPrice
}))
};
}
export interface TemplateDynamicMedicalAid {
dynamicPlanOptions: Array<{ isSelected: boolean, name: string, amount: number }>;
}
@Input() medicalAidDynamic: TemplateDynamicMedicalAid;
<div *ngFor="let plan of medicalAidDynamic.dynamicPlanOptions; let index = index;" class="line">
<p-checkbox
binary="true"
[disabled]="mode == 'view'"
[(ngModel)]="medicalAidDynamic.dynamicPlanOptions[index].isSelected" >
</p-checkbox>
{{ plan.providerName }}: {{ plan.name }} - R{{ plan.amount | number:'':'en' }}
</div>
</div>