angular 2解析一个空数组

时间:2017-07-04 20:34:24

标签: angular

让我直截了当......

我有一个数组 frequentClients ,在第一次使用时,它是空的,所以没有什么可以迭代。

但我不能像这样构建它因为... client.Name不存在??

<div ng-if="frequentClients.items.length>0">
    <button 
        (click)="switchClient(client)" 
        *ngFor="let client of frequentClients">
            {{client.Name}}
    </button>
</div>

所以,即使我告诉它不要迭代,如果没有任何东西要迭代,它仍然会这样做,然后抛出一个错误:无法读取属性'Name'为null < / p>

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

Angular 2+有一个非常好的功能叫safe navigation operator来处理 null undefined 。如果客户端为null或未定义

,则不会抛出错误

使用 {{client?.Name}} 代替 {{client.Name}}

<div ng-if="frequentClients.items.length>0">
    <button 
        (click)="switchClient(client)" 
        *ngFor="let client of frequentClients">
            {{client?.Name}}
    </button>
</div>