2017-02-21 11 views
1

初めてPrimeNGテンプレートを使用しようとしていますが、「let-something」の仕組みを理解できません。私は、他のSOの質問で見られる様々な組み合わせを試してみましたが、それらのすべてが同じエラーで生成します。私の場合は行拡張子テンプレートがPrimeNG DataTableで機能しない

Cannot read property 'undefined' of undefined 

どちらも「行」や「COL」と定義されています。 私はlet-colと他の "let"がPrimeNGテンプレートでどのように動作するのかを知りたいのですが、their siteでは "let-car"の例がありますが、 "car"はどこから来たのかわかりません?

ここに私のhtmlコードがあります:私はあなたが聞かせて-COLをrowexpansionテンプレートで使用することはできませんだと思う

<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> 

答えて

0

、それは身体テンプレートで列の内側に結合されなければならない

<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> 

その後次のような行の展開テンプレート内のlet-itemを使用することができます:

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

よく 'body'テンプレートでうまく動作しますが、私はsaも必要です私の 'rowexpansion'テンプレートは別の場所にあり、' body'テンプレートではなく 'rowexpansions'テンプレートである必要があります。 –

+0

私はanswareを編集し、問題を解決できる場合はlet-itemオプションを追加します –

関連する問題