Angular 4とPrimeNG 4では、テンプレートはng-templateの方が推奨されていません。
次のコードは、ng-templateを使用してPrimeNG p-dataTableコンポーネントにリンクを追加する方法を示しています。
<p-dataTable [value]="myStore.myList | async">
<p-column field="name" header="Name">
<ng-template let-col let-myItem="rowData" pTemplate="body">
<a href="#" (click)="selectItem(myItem);">
{{myItem[col.field]}}
</a>
</ng-template>
</p-column>
...
タグ「のlet-colが、」暗黙のコンテキスト変数$を経由して、テンプレート内で使用するためのColumnオブジェクトが使用可能になります。可能なすべてのフィールドを表示するには、PrimeNG共通のshared.d.tsソースファイル内の列を参照してください。かなりの数があります。
タグ
let-myItem="rowData"
は、テンプレートに全体rowDataフィールドが使用可能になります。
別のタグが聞かせて、私が使用するための現在の行のインデックスが利用できるようになります:テンプレートは各テンプレートを関連付ける方法を決定するために使用されている場合
let-ri="rowIndex"
pTemplateディレクティブはPrimeNGのDataTableによって必要とされます。可能な値は、 "header"、 "body"、 "footer"です。 PrimeNG DataTable Documentation
ありがとうございました:) –