Intro. of Angular Routing and Forms
This commit is contained in:
64
Week-04/Day_03/README.md
Normal file
64
Week-04/Day_03/README.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# Angular Routing
|
||||
|
||||
## Overview
|
||||
Angular Routing allows navigation between different components in a Single Page Application (SPA) without reloading the page.
|
||||
|
||||
It maps URL paths to components and dynamically loads them inside the application.
|
||||
|
||||
---
|
||||
|
||||
## Key Concepts
|
||||
|
||||
### Routes
|
||||
Routes define the relationship between a URL path and a component.
|
||||
|
||||
Example:
|
||||
|
||||
const routes: Routes = [
|
||||
{ path: 'home', component: HomeComponent },
|
||||
{ path: 'about', component: AboutComponent }
|
||||
];
|
||||
|
||||
---
|
||||
|
||||
### Router Outlet
|
||||
`<router-outlet>` is a directive that acts as a placeholder where routed components are displayed.
|
||||
|
||||
Example:
|
||||
|
||||
<router-outlet></router-outlet>
|
||||
|
||||
---
|
||||
|
||||
### RouterLink
|
||||
Used in HTML to navigate between routes.
|
||||
|
||||
Example:
|
||||
|
||||
<a routerLink="/home">Home</a>
|
||||
<a routerLink="/about">About</a>
|
||||
|
||||
---
|
||||
|
||||
### Programmatic Navigation
|
||||
You can navigate using the Router service.
|
||||
|
||||
Example:
|
||||
|
||||
constructor(private router: Router) {}
|
||||
|
||||
goHome() {
|
||||
this.router.navigate(['/home']);
|
||||
}
|
||||
|
||||
---
|
||||
|
||||
## Steps to Implement Routing
|
||||
|
||||
1. Install Angular Router (included in Angular CLI projects)
|
||||
2. Define routes in a routes file
|
||||
3. Import RouterModule
|
||||
4. Use `<router-outlet>` in the main template
|
||||
5. Add navigation links using `routerLink`
|
||||
|
||||
---
|
||||
70
Week-04/Day_04/README.md
Normal file
70
Week-04/Day_04/README.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# Angular Forms
|
||||
|
||||
## Overview
|
||||
Angular Forms are used to capture user input and validate data in web applications.
|
||||
|
||||
Angular provides two types of forms:
|
||||
- Template-driven forms
|
||||
- Reactive forms
|
||||
|
||||
---
|
||||
|
||||
## Template-Driven Forms
|
||||
|
||||
Template-driven forms rely mainly on HTML templates and Angular directives.
|
||||
|
||||
Example:
|
||||
|
||||
<form #userForm="ngForm">
|
||||
<input name="username" ngModel required>
|
||||
<button type="submit">Submit</button>
|
||||
</form>
|
||||
|
||||
Features:
|
||||
- Easy to use
|
||||
- Suitable for simple forms
|
||||
- Uses `ngModel` directive
|
||||
|
||||
---
|
||||
|
||||
## Reactive Forms
|
||||
|
||||
Reactive forms are defined in TypeScript using FormControl and FormGroup.
|
||||
|
||||
Example:
|
||||
|
||||
import { FormGroup, FormControl } from '@angular/forms';
|
||||
|
||||
profileForm = new FormGroup({
|
||||
name: new FormControl(''),
|
||||
email: new FormControl('')
|
||||
});
|
||||
|
||||
HTML:
|
||||
|
||||
<form [formGroup]="profileForm">
|
||||
<input formControlName="name">
|
||||
<input formControlName="email">
|
||||
</form>
|
||||
|
||||
Features:
|
||||
- More control
|
||||
- Better for complex forms
|
||||
- Easy validation and testing
|
||||
|
||||
---
|
||||
|
||||
## Form Validation
|
||||
|
||||
Angular provides built-in validation such as:
|
||||
|
||||
- required
|
||||
- minlength
|
||||
- maxlength
|
||||
- pattern
|
||||
|
||||
Example:
|
||||
|
||||
<input formControlName="email" required>
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user