繁体   English   中英

Angular2如何ngIf空对象或数组

[英]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">

重复https://stackoverflow.com/a/56532650/2488600

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM