perbarui Angular 5
ngOutletContext
diubah namanya menjadi ngTemplateOutletContext
Lihat juga https://github.com/angular/angular/blob/master/CHANGELOG.md#500-beta5-2017-08-29
asli
Templat (<template>
, atau <ng-template>
sejak 4.x) ditambahkan sebagai tampilan tersemat dan diteruskan konteks.
Dengan let-col
konteks properti $implicit
dibuat tersedia col
dalam template untuk binding. Dengan let-foo="bar"
properti konteksbar
dibuat tersedia sebagai foo
.
Misalnya jika Anda menambahkan templat
<ng-template #myTemplate let-col let-foo="bar">
<div>{{col}}</div>
<div>{{foo}}</div>
</ng-template>
<!-- render above template with a custom context -->
<ng-template [ngTemplateOutlet]="myTemplate"
[ngTemplateOutletContext]="{
$implicit: 'some col value',
bar: 'some bar value'
}"
></ng-template>
Lihat juga jawaban ini dan ViewContainerRef # createEmbeddedView .
*ngFor
juga bekerja dengan cara ini. Sintaksis kanonik membuat ini lebih jelas
<ng-template ngFor let-item [ngForOf]="items" let-i="index" let-odd="odd">
<div>{{item}}</div>
</ng-template>
di mana NgFor
menambahkan template sebagai tertanam pandangan ke DOM untuk setiap item
dari items
dan menambahkan beberapa nilai ( item
, index
, odd
) dengan konteks.
Lihat juga Menggunakan $ Implt untuk melewati beberapa parameter