Angular 2 ngFor 用于嵌套 json
Angular 2 ngFor for nested json
我是新手angular 2. 我可以得到Json 文件。我能够获得部分 json 文件,但不能获得 json 文件中的数组。
例如,我想在第一个 UL 中可视化 GPS 设备,在第二个 UL 中可视化 IMU 设备。因为它们是数组,所以我在两个列表中都得到了相同的 IMU 设备数据。
json 文件
"config" : [
{
"id" : "gps_device",
"name" : "GPS Device",
"type" : "String",
"widget" : "dropdown",
"fields" : [ "Disabled", "XSensIMU", "GenesysADMA"],
"default" : "Disabled"
},
{
"id" : "imu_device",
"name" : "IMU Device",
"type" : "String",
"widget" : "dropdown",
"fields" : [ "Disabled1", "XSensIMU1", "GenesysADMA1"],
"default" : "XSensIMU"
}
]
//here I should get loop of GPS device array
<h1>Gps Device</h1>
<ul *ngFor="let drop of config[0]">
<li *ngFor="let sub of drop.fields"> {{sub}}</li>
<ul>
//here array of IMU device
<h1>IMU Device</h1>
<ul *ngFOr="let drop1 of config[1]">
<li *ngFOr="let sub1 of drop.fields"> {{sub1}}</li>
<ul>
尝试使用此代码将您的设备分为 2 组:
<div *ngFor="let drop of config">
<ng-container *ngIf="drop.id === 'imu_device'; else gpsBlock">
<h1>IMU Device</h1>
<ul>
<li *ngFOr="let sub1 of drop.fields"> {{sub1}}</li>
</ul>
</ng-container>
<ng-container #gpsBlock>
<h1>Gps Device</h1>
<ul>
<li *ngFOr="let sub1 of drop.fields"> {{sub1}}</li>
</ul>
</ng-container>
</div>
您循环配置,并在 GPS 或 IMU div 中有条件地显示设备
编辑:
或者你可以这样做:
<ng-container *ngFor="let drop of configs">
<h1>{{drop.name}}</h1>
<ul>
<li *ngFor="let field of drop.fields">{{field}}</li>
</ul>
</ng-container>
我是新手angular 2. 我可以得到Json 文件。我能够获得部分 json 文件,但不能获得 json 文件中的数组。 例如,我想在第一个 UL 中可视化 GPS 设备,在第二个 UL 中可视化 IMU 设备。因为它们是数组,所以我在两个列表中都得到了相同的 IMU 设备数据。
json 文件
"config" : [
{
"id" : "gps_device",
"name" : "GPS Device",
"type" : "String",
"widget" : "dropdown",
"fields" : [ "Disabled", "XSensIMU", "GenesysADMA"],
"default" : "Disabled"
},
{
"id" : "imu_device",
"name" : "IMU Device",
"type" : "String",
"widget" : "dropdown",
"fields" : [ "Disabled1", "XSensIMU1", "GenesysADMA1"],
"default" : "XSensIMU"
}
]
//here I should get loop of GPS device array
<h1>Gps Device</h1>
<ul *ngFor="let drop of config[0]">
<li *ngFor="let sub of drop.fields"> {{sub}}</li>
<ul>
//here array of IMU device
<h1>IMU Device</h1>
<ul *ngFOr="let drop1 of config[1]">
<li *ngFOr="let sub1 of drop.fields"> {{sub1}}</li>
<ul>
尝试使用此代码将您的设备分为 2 组:
<div *ngFor="let drop of config">
<ng-container *ngIf="drop.id === 'imu_device'; else gpsBlock">
<h1>IMU Device</h1>
<ul>
<li *ngFOr="let sub1 of drop.fields"> {{sub1}}</li>
</ul>
</ng-container>
<ng-container #gpsBlock>
<h1>Gps Device</h1>
<ul>
<li *ngFOr="let sub1 of drop.fields"> {{sub1}}</li>
</ul>
</ng-container>
</div>
您循环配置,并在 GPS 或 IMU div 中有条件地显示设备
编辑: 或者你可以这样做:
<ng-container *ngFor="let drop of configs">
<h1>{{drop.name}}</h1>
<ul>
<li *ngFor="let field of drop.fields">{{field}}</li>
</ul>
</ng-container>