4

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

1 Answer 1

4

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.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.