我正在从服务器获取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字符串可以看出数组是空的:)
我做错了什么?
发布于 2017-05-10 12:52:13
对于每个对象,您应该将其存储在模型中,并且在模板中,您可以轻松地检查该特定模型是否包含数据。这是将嵌套的json对象存储到模型中的理想方式。
发布于 2017-10-05 14:22:38
这对我很有效,*ngIf= "(grade|json) == 'null' "
https://stackoverflow.com/questions/43883219
复制相似问题