在我的Angular4项目中,有一个小代码:
<div class="divider"></div>
<ng-content select=".nav-toggle"></ng-content>现在我只想使分隔符可见,如果任何内容来自于ng-content标签中的外部内容。这个是可能的吗?我绝对找不到这方面的任何信息。
发布于 2017-08-03 13:02:20
没有查询任意投影内容的好方法。
@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;
}
}如果您知道投影内容是特定的角分量,或者元素有特定的模板变量应用,则可以使用@ContentChildren() (也请参阅angular 2 / typescript : get hold of an element in the template)。
https://stackoverflow.com/questions/45484870
复制相似问题