Course Content
Introduction to Angular
Introduction to Angular
Transition to Standalone Components
In earlier versions of Angular, every component had to be part of a module. Even the simplest component couldn't exist on its own β it had to be declared inside an NgModule
.
This was like needing a whole kitchen just to make a cup of tea. Sounds bulky, right?
That's why, over time, the Angular team started moving toward simplifying the structure. This led to the introduction of a new approach β Standalone Components.
What is a Standalone Component?
A Standalone Component is a component that doesn't require declaration inside a module (NgModule
). It's self-contained, meaning it holds all the information about its dependencies within itself.
To create one, you simply add the standalone: true
flag inside the @Component
decorator and specify any required dependencies using the imports
array:
example
@Component({ standalone: true, selector: 'app-example', imports: [CommonModule], // everything the component needs to work templateUrl: './example.component.html' }) export class ExampleComponent {}
Here, adding standalone: true
is a special option inside the @Component
decorator that tells Angular this component is independent β it doesn't need to be declared in an NgModule.
Also, we specify a list of external dependencies (imports
) that the component requires. In the traditional module-based approach, these dependencies were passed to the module's imports. But when components work without a module, their dependencies need to be declared directly inside the component β and Angular acts as a module internally for that component.
We built our whole project using standalone components, even if we didn't explicitly add standalone: true
, because we didn't use NgModules
at all and worked only with structures that Angular treats as standalone.
Why is Angular moving away from NgModules?
NgModules
played an important role in large applications:
They helped organize the code;
They gave control over the scope (visibility);
They were useful for optimization.
But over time, it became clear that many of these things can be done at the component level β more simply and intuitively.
Angular hasn't removed modules β standalone components just offer a more flexible option.
In other words, standalone components are the modern way to build components without modules. They simplify the structure, make components self-sufficient, and easier to use.
Angular continues to support modules but recommends using standalone components for new code.
1. What does standalone: true
do in a component decorator?
2. Why is the imports
property needed in a Standalone Component?
Thanks for your feedback!