2017-08-03 53 views

回答

3

還有就是要查詢任意投影內容

@Component({ 
    selector: 'item', 
    template: ` 
<div *ngIf="divider" class="divider"></div> 
<div #wrapper><ng-content select=".nav-toggle"></ng-content></div>'}) 
class Item implements AfterContentInit { 

    @ViewChild('wrapper') wrapper:ElementRef; 

    divider:boolean = false; 

    ngAfterContentInit() { 
     console.log(this.wrapper.nativeElement.innerHTML); // or `wrapper.text` 
     this.divider = !!this.wrapper.nativeElement.children; 
    } 
} 

看不出有什麼好辦法也​​Access transcluded content

如果你知道投影內容是特定角度成分或元素應用特定的模板變量,您可以使用@ContentChildren()(另請參閱angular 2/typescript : get hold of an element in the template)。

+0

你忘了console.log中的'.nativeElement'(this.wrapper.nativeElement.innerHTML)' – n00dl3

+0

@ n00dl3你是對的。非常感謝提示 - 修復。 –

+0

你錯過了一個;) – n00dl3