Angular 行扩展器模板在初始化数据表中不起作用

Angular 行扩展器模板在初始化数据表中不起作用,angular,primeng,Angular,Primeng,我第一次尝试使用素描模板,但我不知道“让某些东西”是如何工作的。我尝试了在其他SO问题中发现的各种组合,但它们都产生了相同的错误: Cannot read property 'undefined' of undefined 在我的例子中,既没有定义“行”也没有定义“列”。 所以我想知道let col和其他“let”在素数模板中是如何工作的,在这里有一个“let car”的例子,但我似乎不知道“car”是从哪里来的 以下是我的html代码: <p-dataTable [value]="de

我第一次尝试使用素描模板,但我不知道“让某些东西”是如何工作的。我尝试了在其他SO问题中发现的各种组合,但它们都产生了相同的错误:

Cannot read property 'undefined' of undefined
在我的例子中,既没有定义“行”也没有定义“列”。 所以我想知道let col和其他“let”在素数模板中是如何工作的,在这里有一个“let car”的例子,但我似乎不知道“car”是从哪里来的

以下是我的html代码:

<p-dataTable [value]="devices" expandableRows="true">
  <p-column expander="true" styleClass="col-icon"></p-column>
  <template let-col let-row="rowData" pTemplate="rowexpansion">
    <div class="ui-grid ui-grid-responsive ui-fluid" style="font-size:16px;padding:2px">
      <div class="ui-grid-row">
        <div class="ui-grid-col-9">
          <div class="ui-grid ui-grid-responsive ui-grid-pad">
            <div class="ui-grid-row">
              <div class="ui-grid-col-2 label">Vin: </div>
              <div class="ui-grid-col-10">{{row[col.field]}}</div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </template>
  <p-column *ngFor="let header of columnHeaders" [field]="header.field" [header]="header.header"></p-column>
</p-dataTable>

Vin:
{{row[col.field]}

我认为不能在行扩展模板中使用let col,它应该绑定在正文模板的列中

    <p-column field="field_name" header="field_header">
      <ng-template let-col let-item="rowData" let-i="rowIndex" pTemplate="body">
        {{item[col.field]}}         
      </ng-template>
    </p-column>

{{item[col.field]}
然后,您可以在rowexpansion模板中使用let项,如下所示:

<ng-template let-item  pTemplate="rowexpansion">
{{item.field}}
</ng-template>

{{item.field}

我认为不能在行扩展模板中使用let col,它应该绑定在正文模板的列中

    <p-column field="field_name" header="field_header">
      <ng-template let-col let-item="rowData" let-i="rowIndex" pTemplate="body">
        {{item[col.field]}}         
      </ng-template>
    </p-column>

{{item[col.field]}
然后,您可以在rowexpansion模板中使用let项,如下所示:

<ng-template let-item  pTemplate="rowexpansion">
{{item.field}}
</ng-template>

{{item.field}

它在
主体
模板中运行良好,但我也需要在另一个地方为我的
行扩展
模板提供相同的功能,它需要是
行扩展
模板,而不是
主体
模板。我只是编辑了answare,如果可以解决您的问题,添加let item选项将在
body
模板中正常工作,但我也需要在另一个位置为我的
行扩展
模板提供相同的功能,它需要是
行扩展
模板,而不是
body
模板。我只是编辑answare,如果可以解决您的问题,则添加let item选项