W3cubDocs

/Angular

reflectComponentType

function

Creates an object that allows to retrieve component metadata.

reflectComponentType<C>(component: Type<C>): ComponentMirror<C> | null

Parameters
component Type<C>

Component class reference.

Returns

ComponentMirror<C> | null: An object that allows to retrieve component metadata.

Usage notes

The example below demonstrates how to use the function and how the fields of the returned object map to the component metadata.

@Component({
  standalone: true,
  selector: 'foo-component',
  template: `
    <ng-content></ng-content>
    <ng-content select="content-selector-a"></ng-content>
  `,
})
class FooComponent {
  @Input('inputName') inputPropName: string;
  @Output('outputName') outputPropName = new EventEmitter<void>();
}

const mirror = reflectComponentType(FooComponent);
expect(mirror.type).toBe(FooComponent);
expect(mirror.selector).toBe('foo-component');
expect(mirror.isStandalone).toBe(true);
expect(mirror.inputs).toEqual([{propName: 'inputName', templateName: 'inputPropName'}]);
expect(mirror.outputs).toEqual([{propName: 'outputName', templateName: 'outputPropName'}]);
expect(mirror.ngContentSelectors).toEqual([
  '*',                 // first `<ng-content>` in a template, the selector defaults to `*`
  'content-selector-a' // second `<ng-content>` in a template
]);

© 2010–2023 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://angular.io/api/core/reflectComponentType