我使用Angular 5。

在我的component中,我有:

@ContentChild('contentTemplate') contentTemplate: TemplateRef<any>;

我的html:
<data-grid-column>
  <ng-template #contentTemplate>
    <span class="elo">Hello</span>
  </ng-template>
</data-grid-column>

我正在尝试查看:
ngAfterViewChecked () {
  console.log(this.contentTemplate.elementRef.nativeElement);
}

但是输出是:
<!---->

怎么了?

最佳答案



根据官方文件。

引用

  • https://angular.io/guide/structural-directives#the-ng-template

  • 我不知道您为什么在这里使用ng-template,但是可以使用ng-container代替,它将打印您的内容。

    同样,当您在HTML元素上使用#局部变量时,您需要改为使用ViewChild,如下所示-
    @ViewChild('contentTemplate') contentTemplate: any;
    

    Working Example

    关于javascript - 空的 native 元素与ng-template,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53410210/

    10-16 18:48