Is it possible to get component class name or component reference using selector name in Angular 2?
@Component({
selector: 'selector-1',
template: '<h1>Hello</h1>',
})
export class Component1 {}
@Component({
selector: 'selector-2',
template: '<h1>Hello</h1>',
})
export class Component2 {}
In component 2 is it possible to get the component1 class name using selector "selector-1"?
Example:
getComponentName(selectorName) {
// return component name
}
getComponentName('selector-1');
Thanks in advance
It is possible without additional work only if you do not call enableProdMode
:
var node = document.querySelector('selector-1');
var debugNode = window.ng.probe(node);
var name = debugNode.componentInstance.constructor.name;
Otherwise you will have to maintain component map yourself.
来源:https://stackoverflow.com/questions/47096635/angular2-is-it-possible-to-get-component-class-name-using-selector-name