Angular2 - 是否可以使用选择器名称获取组件类名称

时间:2017-11-03 13:14:30

标签: angular typescript annotations angular2-components angular2-decorators

是否可以在Angular 2中使用选择器名称获取组件类名称或组件引用?

@Component({
  selector: 'selector-1',
  template: '<h1>Hello</h1>',
})
export class Component1 {}

@Component({
      selector: 'selector-2',
      template: '<h1>Hello</h1>',
    })
    export class Component2 {}

在组件2中,可以使用selector&#34; selector-1&#34;?

获取component1类名

示例:

getComponentName(selectorName) {
 // return component name
}

getComponentName('selector-1');

提前致谢

1 个答案:

答案 0 :(得分:2)

只有在不拨打enableProdMode时才可以进行额外的工作:

var node = document.querySelector('selector-1');
var debugNode = window.ng.probe(node);
var name = debugNode.componentInstance.constructor.name;

否则你必须自己维护组件图。