cập nhật góc 5
ngOutletContext
đã được đổi tên thành ngTemplateOutletContext
Xem thêm https://github.com/angular/angular/blob/master/CHANGELOG.md#500-beta5-2017-08-29
nguyên
Mẫu ( <template>
hoặc <ng-template>
từ 4.x) được thêm dưới dạng chế độ xem được nhúng và được thông qua một bối cảnh.
Với let-col
thuộc tính bối cảnh $implicit
được tạo sẵn như col
trong khuôn mẫu cho các ràng buộc. Với let-foo="bar"
các thuộc tính bối cảnh bar
được thực hiện như là foo
.
Ví dụ: nếu bạn thêm một mẫu
<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>
Xem thêm câu trả lời này và ViewContainerRef # createdEmbeddedView .
*ngFor
cũng hoạt động theo cách này. Cú pháp chính tắc làm cho điều này rõ ràng hơn
<ng-template ngFor let-item [ngForOf]="items" let-i="index" let-odd="odd">
<div>{{item}}</div>
</ng-template>
nơi NgFor
thêm mẫu như xem nhúng vào DOM cho mỗi item
của items
và bổ sung thêm một vài giá trị ( item
, index
, odd
) với bối cảnh.
Xem thêm Sử dụng $ implict để truyền nhiều tham số