Before diving into learning Angular, it’s important to have a good understanding of some key concepts that are fundamental to working with the framework. In this tutorial, we will go over 5 Angular concepts that you should know before you start to learn Angular. Let’s get started!
- Components:
Components are the building blocks of an Angular application. They are responsible for defining the structure, behavior, and appearance of different areas of your application. Each component in Angular consists of three main parts: the template, which defines the component’s HTML markup, the class, which contains the component’s logic and data, and the metadata, which provides information about the component such as its selector, template, and styles.
To create a component in Angular, you can use the @Component
decorator. Here’s an example of a simple Angular component:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My First Angular Component</title>
</head>
<body>
<my-component></my-component>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.8.2/angular.min.js"></script>
</body>
</html>
import { Component } from '@angular/core';
@Component({
selector: 'my-component',
template: '<h1>Hello, Angular!</h1>'
})
export class MyComponent {}
- Modules:
Modules in Angular are used to organize an application into cohesive blocks of functionality. Each Angular application has at least one module, known as the root module. Modules can contain components, services, directives, and other Angular artifacts, and help to keep the codebase organized and maintainable.
To create a module in Angular, you can use the @NgModule
decorator. Here’s an example of a simple Angular module:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { MyComponent } from './my-component.component';
@NgModule({
declarations: [
MyComponent
],
imports: [
BrowserModule
],
bootstrap: [MyComponent]
})
export class AppModule {}
- Directives:
Directives in Angular are used to add behavior to the DOM elements on a page. There are two types of directives in Angular: structural directives and attribute directives. Structural directives are used to add or remove elements from the DOM based on certain conditions, while attribute directives are used to manipulate the appearance or behavior of existing DOM elements.
To create a directive in Angular, you can use the @Directive
decorator. Here’s an example of a simple attribute directive:
import { Directive, ElementRef, Renderer2 } from '@angular/core';
@Directive({
selector: '[myDirective]'
})
export class MyDirective {
constructor(private el: ElementRef, private renderer: Renderer2) {
this.renderer.setStyle(this.el.nativeElement, 'color', 'red');
}
}
- Services:
Services in Angular are used to encapsulate reusable functionality that can be shared across different parts of an application. Services are typically used to handle tasks such as data fetching, business logic, and communication with external APIs. Services are injected into components or other services using Angular’s dependency injection system.
To create a service in Angular, you can use the @Injectable
decorator. Here’s an example of a simple Angular service:
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class MyService {
getData(): string {
return 'Hello from the service!';
}
}
- Dependency Injection:
Dependency injection is a core concept in Angular that allows you to inject dependencies into components, directives, services, and other Angular artifacts. Dependency injection helps to make components more modular, reusable, and testable by decoupling them from their dependencies.
To use dependency injection in Angular, you can simply add the dependency as a parameter in the constructor of the component or service. Angular’s dependency injection system will automatically inject the dependency when the component or service is created. Here’s an example of using dependency injection in an Angular component:
import { Component } from '@angular/core';
import { MyService } from './my-service.service';
@Component({
selector: 'my-component',
template: '<h1>{{ data }}</h1>'
})
export class MyComponent {
data: string;
constructor(private myService: MyService) {
this.data = this.myService.getData();
}
}
These are just a few key concepts that you should be familiar with before starting to learn Angular. By understanding these concepts, you’ll be better equipped to dive into the world of Angular development and build robust, maintainable applications. Happy coding!
Bhaiyya typescript ke liye JS mandatory hai kya?
Angular 14
angular 14