从引用中获取Angular组件的名称

Dav*_*vid 5 angular

有没有办法从参考中获取Angular中的组件名称?

所以,有这样的事情:

@Input comp: any;

ngOnInit {
  console.log(this.comp);
}
Run Code Online (Sandbox Code Playgroud)

将记录整个组件对象,但我只想要一个带有组件名称的字符串.

那可能吗?谢谢

Ami*_*ani 16

是的,绝对可以使用this.constructor.name.这将为您提供当前组件的名称.

this.constructor.name
Run Code Online (Sandbox Code Playgroud)

在你的情况下,你可以尝试做

this.comp.constructor.name
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果你缩小你的代码(你可能应该在生产中做),它将改变它返回的值(例如``MyType`可能变成'M`).如果这对您来说是个问题,那么最好将类名存储为静态字符串属性. (14认同)
  • 谢谢,@ JoeClay我会记住这一点 (4认同)
  • 哇,@JoeClay ...我很高兴偶然发现了你的答案。我抓狂了,想知道为什么我的动态元素没有在 Angular 中显示。我在 this.constructor.name 上使用 *ngIf ...这显然失败了!谢谢! (2认同)
  • @balslev:写评论时我处在完全相同的情况,所以很高兴我可以省去别人压力:) (2认同)