首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >*ngIf <ng- content > Transclusion从外部获取任何可能的内容?

*ngIf <ng- content > Transclusion从外部获取任何可能的内容?
EN

Stack Overflow用户
提问于 2017-08-03 12:55:57
回答 1查看 917关注 0票数 3

在我的Angular4项目中,有一个小代码:

代码语言:javascript
复制
<div class="divider"></div>

<ng-content select=".nav-toggle"></ng-content>

现在我只想使分隔符可见,如果任何内容来自于ng-content标签中的外部内容。这个是可能的吗?我绝对找不到这方面的任何信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-03 13:02:20

没有查询任意投影内容的好方法。

代码语言:javascript
复制
@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)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45484870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档