如何在模板语法中获取数组的长度

时间:2016-08-19 22:57:27

标签: angular

我试图在模板语法中评估下面的数组:

FAIL 
{{ cols.length }}

我收到以下错误。

platform-browser.umd.js:1900 ORIGINAL EXCEPTION: TypeError: Cannot read property 'length' of undefined

但我会迭代,所以我知道该部分有效:

      SUCCESS
     <th *ngFor="let h of cols"> 
        {{h}}
      </th>

2 个答案:

答案 0 :(得分:49)

使用

{{ cols?.length }}

或者

<div *ngIf="cols">{{ cols.length }}</div>

如果要为空数组打印0,请使用

{{ cols?.length || '0' }}

原因:当Angular2加载模板时,不会启动cols。我们希望等到它准备好访问其成员。

答案 1 :(得分:0)

尝试将cols变量定义为.ts存档上的对象列表 cols: object[];

如果要为空数组打印0,请使用三元运算符:

{{ cols ? cols.length : '0' }}