我想在客户端显示json数据。如果服务器发送一个数组,它可以由* ngfor ="项目项目#34;来处理,但服务器可以发送一行json,这些json无法用* ngfor实现,因为有了* ng,我们可以只有一个阵列。 如何实现条件* ngfor:
<div *ngFor="let item of (Array.isArray(items) ? items : [items])
我想检查items变量,如果是数组类型,则项应该用作数组,否则一行jason
提前致谢
答案 0 :(得分:1)
我建议您使用*ngIf
语句创建两个div,并在服务器返回数组时使用ngFor。
<div *ngIf="Array.isArray(items)" *ngFor="let item of items">{{item}}</div>
<div *ngIf="!Array.isArray(items)">{{items | json}}</div>
从一开始就可以更好地理解代码中发生了什么。希望它会有所帮助
答案 1 :(得分:0)
感谢您的帮助。 正如您所建议的那样,我尝试使用代码并且可以正常工作
<div [ngSwitch]="items.length > 0">
<div *ngSwitchCase="true">
<div *ngFor="let item of items">
<md-checkbox
[checked]= "item[valueKey] == trueValue"
[disabled]="disabled"
align="start"
(change)="onChange($event,item,valueKey)"
(onInputFocus)="onFocus()">
{{item[labelKey]}}
</md-checkbox>
</div>
<md-checkbox
[checked]= "items[valueKey] == trueValue"
[disabled]="disabled"
align="start"
(change)="onChange($event,items,valueKey)"
(onInputFocus)="onFocus()">
{{items[labelKey]}}
</md-checkbox>
</div>