[英]Angular2 How to ngIf empty object or array
我从服务器获取json对象,并且它们是深层嵌套的。
无论如何,当json对象为空(或数组)时,我想显示“用户尚未填写”
我几乎尝试了所有方法,但是它们没有起作用。 我究竟做错了什么?
<div class="common-container" *ngFor="let detail of deepTeaInfo | getValues">
<div id="exp-box" *ngFor="let grade of detail['introduceInfo']['grade'] | getValues">
<p class="fontstyle3">Grade: <span class="fontstyle2">{{grade.category | type_transform}}</span></p>
<p class="fontstyle3">Period: <span class="fontstyle2"> {{grade.when | type_transform}}</span></p>
<p class="fontstyle3">Description: <span class="fontstyle2"> {{grade.description}}</span> </p>
<p class="fontstyle2" *ngIf="grade?.length > 0">
The user hasn't filled in yet
</p>
</div>
<br>
</div>
我尝试过的东西
*ngIf="grade?.length > 0"
*ngIf = "(grade|json) == '{}'"
*ngIf = "grade.length >0"
*ngIf = "(grade|json).length >0"
*ngIf "(grade|json) == ({}|json)"
他们没有工作。
如果我在HTML中{{grade.json}},会看到类似
{when: 2011, description: temp, category: school},
{when: 2011, description: temp, category: school}
如果我在HTML中{{grade}},我会看到
[object Object]
[object Object]
(我知道从服务器获取的json字符串中,数组为空:)
我究竟做错了什么?
对于应该将其存储在模型和模板中的每个对象,您可以轻松地检查该特定模型是否具有数据。 这是将嵌套的json对象存储到模型中的理想方法。
这对我*ngIf= "(grade|json) == 'null' "
您的问题/代码似乎不足以判断其数组还是对象。
情况1:数组
<div *ngIf="array?.length">
重复https://stackoverflow.com/a/55177735/2488600
情况2:对象
<div *ngIf="(object | keyvalue)?.length">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.