无法获取角度6中未定义或空引用的属性“ propertyName”

时间:2019-05-07 06:22:59

标签: json angular

我遇到以下问题

无法获取未定义或空引用的属性“ senderDetails”

我在6号角使用了以下代码

<tr *ngIf="itemList.senderDetails?.length !=null">
<th scope="row">Sender Owner</th>
<td><strong>ID</strong>{{itemList.senderId}} |<strong>Name</strong>{{itemList.sender}}</td>
</tr>

上面的代码在chrom上运行良好,但是会在IE边缘引发未定义或空引用的错误

3 个答案:

答案 0 :(得分:0)

这是因为开始时未定义您的itemList。您可以

  1. 初始化您的itemList

    itemList = {};

    或者如果您使用类来存储itemList数据

    itemList:ItemList =新的ItemList();

  2. 向外部元素添加第二个* ngIf,以便在itemList未定义时不会执行内部代码* ngIf =“ itemList!= undefined”

答案 1 :(得分:0)

这是因为在呈现页面(视图)时,itemList对象为null或未定义。如果要从异步调用(api)获取itemList的数据,则会出现此类问题。因此,我们应该始终检查对象是否为null或未定义,如果不是,则可以访问其属性。在您的情况下,可以将以下代码用于“如果声明”。

<tr *ngIf="itemList && (itemList.senderDetails?.length !=null")>

答案 2 :(得分:0)

只需尝试

<tr *ngIf="itemList?.senderDetails?.length">
<th scope="row">Sender Owner</th>
<td><strong>ID</strong>{{itemList.senderId}} |<strong>Name</strong>{{itemList.sender}}</td>
</tr>