angular - Angular2 - er det mulig å få komponentklassens navn ved hjelp av selektornavn


Er det mulig å få komponentklassens navn eller komponentreferanse ved å bruke selektornavn i Angular 2?

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

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

Er det mulig å få klassenavnet til komponent1 i komponent 2 ved å bruke selektor "selector-1"?

Eksempel:

getComponentName(selectorName) {
 // return component name
}

getComponentName('selector-1');

Takk på forhånd

Svar #1

Det er mulig uten ekstra arbeid bare hvis du ikke kaller enableProdMode:

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

Ellers må du vedlikeholde komponentkartet selv.

Relaterte artikler