In-depth Guides
Components

Importing and using components

Tip: This guide assumes you've already read the Essentials Guide. Read that first if you're new to Angular.

Angular supports two ways of making a component available to other components: as a standalone component or in an NgModule.

Standalone components

A standalone component is a component that sets standalone: true in its component metadata. Standalone components directly import other components, directives, and pipes used in their templates:

      
@Component({  standalone: true,  selector: 'profile-photo',})export class ProfilePhoto { }@Component({  standalone: true,  imports: [ProfilePhoto],  template: `<profile-photo />`})export class UserProfile { }

Standalone components are directly importable into other standalone components.

The Angular team recommends using standalone components for all new development.

NgModules

Angular code that predates standalone components uses NgModule as a mechanism for importing and using other components. See the full NgModule guide for details.