[ Web Proxy ]
URL:
Viewing: https://angular.dev/api/core/reflectComponentType [Back]  [Original]

reflectComponentType Angular Skip to main content
menu
close
more_horiz
menuAPI
@angular/core

reflectComponentType

function
stable

Creates an object that allows to retrieve component metadata.

On this page

    arrow_upward_alt Back to the top

    API

    function reflectComponentType<C>(component: Type<C>): ComponentMirror<C> | null;
    @paramcomponentType<C>

    Component class reference.

    @returnsComponentMirror<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({
      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
    ]);
    Jump to details

    Web Proxy Viewer  |  New URL  |  Original Page