Unitt 4 Angular
Unitt 4 Angular
What is Angular?
Angular vs AngularJS
1. Install Prerequisites
Before installing Angular, make sure you have the required dependencies:
node -v
npm -v
Verify installation:
ng version
ng new my-angular-app
cd my-angular-app
ng serve --open
This command will compile the project and start a local server at
http://localhost:4200/
The --open flag automatically opens the browser
Once the project is created, you will see the following structure:
my-angular-app/
│-- e2e/ # End-to-end testing
│-- node_modules/ # Installed dependencies
│-- src/ # Main project source code
│ │-- app/ # Application modules &
components
│ │-- assets/ # Static assets like images,
fonts
│ │-- environments/ # Environment-specific
configurations
│ │-- main.ts # Main entry point
│ │-- index.html # Main HTML file
│ │-- styles.css # Global styles
│-- angular.json # Angular project configuration
│-- package.json # Dependencies and scripts
│-- tsconfig.json # TypeScript configuration
or
ng g c my-component
ng build --prod
You can deploy the Angular app using different services like:
Components
Create a Component
or
ng g c my-component
This generates:
my-component/
│-- my-component.component.ts # Component logic
│-- my-component.component.html # Component template
│-- my-component.component.css # Component styles
Modules
Organize the app into feature-based or reusable units.
The root module is app.module.ts.
Create a Module
or
ng g m my-module
Services
Create a Service
or
ng g s my-service
@Injectable({
providedIn: 'root'
})
export class MyService {
constructor(private http: HttpClient) {}
getData() {
return
this.http.get('https://api.example.com/data');
}
}
html
<h1>{{ title }}</h1>
html
<img [src]="imageUrl">
html
<button (click)="sayHello()">Click Me</button>
html
<input [(ngModel)]="username">
ts
export class MyComponent {
title = 'Angular App';
imageUrl = 'assets/image.png';
sayHello() {
alert('Hello from Angular!');
}
}
Steps:
ts
import { FormsModule } from '@angular/forms';
@NgModule({ imports: [FormsModule] })
html
<form #userForm="ngForm">
<input type="text" name="username" ngModel
required>
<button
[disabled]="!userForm.valid">Submit</button>
</form>
ts
import { ReactiveFormsModule } from
'@angular/forms';
@NgModule({ imports: [ReactiveFormsModule] })
submit() {
console.log(this.userForm.value);
}
}
html
<form [formGroup]="userForm" (ngSubmit)="submit()">
<input type="text" formControlName="username">
<button type="submit">Submit</button>
</form>
ts
import { RouterModule, Routes } from
'@angular/router';
import { HomeComponent } from
'./home/home.component';
import { AboutComponent } from
'./about/about.component';
@NgModule({ imports:
[RouterModule.forRoot(routes)] })
export class AppModule {}
html
<nav>
<a routerLink="/home">Home</a>
<a routerLink="/about">About</a>
</nav>
<router-outlet></router-outlet>
ts
import { HttpClientModule } from
'@angular/common/http';
@NgModule({ imports: [HttpClientModule] })
ts
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
ts
export class MyComponent {
users: any = [];
ngOnInit() {
this.apiService.getUsers().subscribe(data =>
this.users = data);
}
}
html
<ul>
<li *ngFor="let user of
users">{{ user.name }}</li>
</ul>