我从服务器获取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字符串:))
我做错了什么?
答案 0 :(得分:0)
对于每个对象,您应该将其存储在模型和模板中,您可以轻松检查该特定模型是否有数据。这是将嵌套的json对象存储到模型中的理想方法。
答案 1 :(得分:0)
这对我有用*ngIf= "(grade|json) == 'null' "
答案 2 :(得分:0)
您的问题/代码似乎不足以判断其数组还是对象。
案例1:数组
<div *ngIf="array?.length">
重复https://stackoverflow.com/a/55177735/2488600
案例2:对象
<div *ngIf="(object | keyvalue)?.length">