2017-07-04 41 views
0

我已經創建一個組件,它發生在一個模板:angular2讓實體指令

export class TemplateParamComponent implements OnInit { 
    @Input() items: Array<any>; 
    @Input() template: TemplateRef<any>; 
} 

的HTML:

<template #defaultTemplate let-item="item"> 
    <strong>{{item.name}}</strong> 
</template> 
<ul> 
    <li *ngFor="let item of items"> 
     <template [ngTemplateOutlet]="template || defaultTemplate" [ngOutletContext]="{item: item}"></template> 
    </li> 
</ul> 

我在指令讓項目有哪些呢困惑,這是否創建了一個名爲item的變量?是讓一個特殊的指令,讓你聲明變量使用範圍內的HTML?

回答

1
爲您瞭解 <template>元素手柄如何角閱讀文檔

最好的建議:https://angular.io/guide/structural-directives

長話短說:考慮<template>的函數(方法)和let-something作爲輸入變量。所以

<template #defaultTemplate let-item="item"> 
    <strong>{{item.name}}</strong> 
</template> 

可以理解爲

function defaultTemplate(item: any){ 
    return "<strong>" + item.name + "</strong>"; 
}