ng-template [NgForOf]返回未定义的值

时间:2017-12-11 08:11:39

标签: angular undefined primeng primeng-datatable ng-template

我有下一个问题:构造

<p-dataTable [value]="listOfAddresses" [expandableRows]="true" [expandedRows]="listOfAddresses" ">
    <p-column>
        <ng-template let-item="rowData" let-i="rowIndex" pTemplate="body">
                {{i+1}}
        </ng-template>
    </p-column>
    <p-column >
         <ng-template ngFor let-item [ngForOf]="listOfOriginalAddresses" pTemplate="body">
             {{item.Street + " " + item.City}}   
         </ng-template>
    </p-column>
</p-table>

返回item.Street和item.City的未定义值  奇怪,因为如果我使用

<p-column >
   <ng-template pTemplate="body">
      <div *ngFor="let item of listOfOriginalAddresses">
          {{item.Street + " " + item.City}}   
     </div>
   </ng-template>
</p-column>

我有所有必需的值,但行中的所有列表。问题是什么?提前致谢

2 个答案:

答案 0 :(得分:0)

请使用[猫王操作员] [1]吗?它会检查是否定义了对象

{{item?.Street + " " + item?.City}} 

答案 1 :(得分:-1)

已解决但未使用ngFor。

我创建了管道:

 transform(value: any): any {
        let item = value;
        return (item.Street + " " + item.Country);
    }

此外,数据不会根据具有分区地址的字段中的版本而发生变化,这解决了另一个问题。