SlideShare a Scribd company logo
Angular Fundamentals
Babel Coder
Components
“A component controls a patch of screen real estate that we could call a view,
and
declares reusable UI building blocks for an application.”
Babel Coder
Components
import { Component } from '@angular/core';
@Component({
selector: 'app-hello',
template: ` <p>Hello {{name}}</p> `
})
export class Hello {
name: string;
constructor() {
this.name = 'World';
}
}
Metadata Hello World
Babel Coder
Components
Note List
Note#3
Note#2
Note#1 Note#4
NoteForm
Note#1
Note#2
Note#3
Note#4
Add
Notes
App
Babel Coder
Component Glosary
Bootstrap Process
Root Module
Declarations
BrowserModule
Components
Selectors
Templates
Interpolation
Input / Output and Event Handling
Event Binding and Property Binding
Safe Navigation Operator
Babel Coder
Lifecycle Hooks
lifecycle
ngOnChanges
ngOnInit
ngDoCheck
ngAfterContentInit
ngAfterContentChecked
ngAfterViewInit
ngAfterViewChecked
ngOnDestroy
Babel Coder
Lifecycle Hooks
ngOnChanges
ngOnInit
ngOnChanges
set data-bound input propertirs
After first displays and sets the component's
input properties
reset data-bound input propertirs
Babel Coder
ngOnInit
import { OnInit } from '@angular/core';
export class OnInitComponent implements OnInit {
constructor() {
// fetch API
}
ngOnInit() {
// fetch API
}
}
Babel Coder
ngOnChanges
import { OnChanges, SimpleChanges } from '@angular/core';
export class OnChangesComponent implements OnChanges {
constructor() {
}
ngOnChanges(changes: SimpleChanges) {
}
}
Babel Coder
Directives
Directives DOM DOM
+
A Directive modifies the DOM to change apperance, behavior or layout of DOM elements.
Babel Coder
Directives
Component: Directives + Template
Structural Directives: Change the Dom Layout
Attribute Directives: Change the appearance or behavior
Babel Coder
structural directives
NgFor
NgIf
NgSwitch
Babel Coder
ngFor
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
<div *ngFor="let course of courses">
{{ course.title }} - {{ course.price }} Baht
</div>
`
})
export class AppComponent {
courses = [
{ title: 'Universal Angular2', price: 7500 },
{ title: 'Advance JavaScript', price: 7500 },
{ title: 'Fullstack JavaScript', price: 7500 }
]
}
Universal Angular2 - 7500 Baht
Advance JavaScript - 7500 Baht
Fullstack JavaScript - 7500 Baht
ngFor
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
@for (course of courses; track course.title) {
<div>
{{ course.title }} - {{ course.price }} Baht
</div>
}
`
})
export class AppComponent {
courses = [
{ title: 'Universal Angular2', price: 7500 },
{ title: 'Advance JavaScript', price: 7500 },
{ title: 'Fullstack JavaScript', price: 7500 }
]
}
Universal Angular2 - 7500 Baht
Advance JavaScript - 7500 Baht
Fullstack JavaScript - 7500 Baht
ngIf
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
<div *ngFor="let course of courses">
<div *ngIf="course.price <= 3000">
{{ course.title }} - {{ course.price }} Baht
</div>
</div>
`
})
export class AppComponent {
courses = [
{ title: 'Universal Angular2', price: 7500 },
{ title: 'Advance JavaScript', price: 7500 },
{ title: 'Fullstack JavaScript', price: 7500 },
{ title: 'Instant Angular2', price: 2950 },
]
} Instant Angular2 - 2950 Baht
ngIf
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
@for (course of courses; track course.title) {
@if (course.price <= 3000) {
<div>{{ course.title }} - {{ course.price }} Baht</div>
}
}
`
})
export class AppComponent {
courses = [
{ title: 'Universal Angular2', price: 7500 },
{ title: 'Advance JavaScript', price: 7500 },
{ title: 'Fullstack JavaScript', price: 7500 },
{ title: 'Instant Angular2', price: 2950 },
]
} Instant Angular2 - 2950 Baht
ngSwitch
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
<div *ngIf="currentView === 'SHOW'">Show View</div>
<div *ngIf="currentView === 'EDIT'">Edit View</div>
<div *ngIf="currentView === 'CREATE'">Create View</div>
<div *ngIf="currentView !== 'SHOW' && currentView !== 'EDIT' && currentView
!== 'CREATE'">
Landing Page
</div> `
})
export class AppComponent {
currentView = 'SHOW';
}
Babel Coder
ngSwitch
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
<div [ngSwitch]="currentView">
<div *ngSwitchCase="'SHOW'">Show View</div>
<div *ngSwitchCase="'EDIT'">Edit View</div>
<div *ngSwitchCase="'CREATE'">Create View</div>
<div *ngSwitchDefault>Landing Page</div>
</div>
`
})
export class AppComponent {
currentView = 'SHOW';
} Show View
ngSwitch
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
<div>
@switch (currentView) {
@case ('SHOW') {
<div>Show View</div>
}
@case ('EDIT') {
<div>Edit View</div>
}
@case ('CREATE') {
<div>Create View</div>
}
@default {
<div>Landing Page</div>
}
}
</div>
`
})
export class AppComponent {
currentView = 'SHOW';
}
Show View
Attribute Directives
NgStyle
NgClass
Babel Coder
ngStyle
@Component({
selector: 'bold-button',
template: `
<button [ngStyle]="{
color: color,
'background-color': bgColor,
fontWeight: 'bold'
}">
<ng-content></ng-content>
</button>
`
})
export class DeleteButtonComponent {
@Input() bgColor: string = 'red';
@Input() color: string = 'white';
}
@Component({
selector: 'app-root',
template: `
<bold-button bgColor="green">
Delete
</bold-button>
`
})
export class AppComponent { }
Delete
Style
@Component({
selector: 'app-root',
template: `
<button [style.backgroundColor]="'green'">OK!</button>
`
})
export class AppComponent { }
Babel Coder
ngClass
@Component({
selector: 'app-root',
template: `
<button ngClass="btn btn-success">OK!</button>
`,
styles: [`
.btn {
padding: 6px 12px;
line-height: 1.5;
border: none;
}
.btn-success {
color: #FFF;
background-color: #449d44;
}
`]
})
export class AppComponent { }
Babel Coder
Pipes
Use pipes to transform strings, currency amounts, dates, and other data for display. Pipes are
simple functions to use in template expressions to accept an input value and return a
transformed value.
Babel Coder
Built-in Pipes
DatePipe
CurrencyPipe
DecimalPipe
SlicePipe
JsonPipe
PercentPipe
LowerPipe
LowerCasePipe
UpperCasePipe
TitlePipe
Etc
Using Pipes
@Component({
selector: 'lowerupper-pipe',
template: `<div>
<label>Name: </label><input #name (keyup)="change(name.value)" type="text">
<p>In lowercase: <pre>'{{value | lowercase}}'</pre>
<p>In uppercase: <pre>'{{value | uppercase}}'</pre>
</div>`
})
export class LowerUpperPipeComponent {
value: string;
change(value: string) { this.value = value; }
}
Babel Coder
Async Pipes
@Component({
selector: 'async-pipe',
template: `<div>{{ promise | async }}</div>`
})
export class SlicePipeListComponent {
promise = new Promise((resolve) => {
resolve('Hello');
});
}
Custom Pipes
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
standalone: true,
name: 'truncate'
})
export class TruncatePipe implements PipeTransform {
transform(value: string, maxLenght: number) {
return value.length > maxLenght ? value.slice(0, maxLenght) + '...' : value;
}
}
Custom Pipes
@Component({
selector: 'truncate-pipe',
imports: [TruncatePipe],
template: `<div>{{ 'Lorem Ipsum' | truncate: 3 }}</div>`
})
export class TruncatePipeComponent {
}
Services
logging service
data service
message bus
tax calculator
application configuration
Services
DI Framework
Service Component
1. gets registered 2. declares dependency
3. injects the service
Babel Coder
Services (Provider)
Babel Coder
@Injectable({
providedIn: 'root',
})
export class LeaveService{}
Services (Consumer)
Injector
Service A Service B Service C Service D
Component
constructor(private serviceA: ServiceA) {}
Babel Coder
private serviceA = inject(ServiceA)
Component
Services (Consumer)
Injector
Service B Service C Service D
Babel Coder
private serviceA = inject(ServiceA)
Component
Injector
Service B Service C Service D
Service A
resolves
Services
@Injectable({
providedIn: 'root',
})
export class LeaveService {
http = inject(HttpClient);
getLeaveList() {
return this.http.get<LeaveItem[]>(
`${import.meta.env.NG_APP_API_URL}/leaves`
);
}
}
Babel Coder
@Component({
selector: 'absence-management-leave-list',
standalone: true,
imports: [CommonModule, LeaveItemComponent],
templateUrl: './leave-list.component.html',
styleUrls: ['./leave-list.component.scss'],
})
export class LeaveListComponent {
leaveService = inject(LeaveService);
leaveList$ = this.leaveService.getLeaveList();
}
<div class="max-w-3xl mx-auto">
<h2 class="text-center text-green-700 text-3xl my-2">All Leaves</h2>
<section class="grid grid-cols-3 gap-2">
<absence-management-leave-item
*ngFor="let leave of leaveList$ | async"
[leave]="leave"
></absence-management-leave-item>
</section>
</div>
Service
Component Component
Reactive Programming
Babel Coder
let a = 1
let b = 2
let c = a + b // 3
a = 4
c = 3
c = 6
Babel Coder
reactive programming
Reactive programming is a programming paradigm oriented around data flows
and the propagation of change
let a
let b
let c
1
2
3
4
5
3 7 9
Babel Coder
reactive programming
RP Asynchronous Dataflow
= +
let a
let b
let c
1
2
3
4
5
3 7 9
Stream
Babel Coder
reactive programming
1 Define the different streams
2 Define the operations
+
let a
let b
let c
1
2
3
4
5
3 7 9
Babel Coder
reactive programming
It allows you to specify the dynamic behavior of a value completely at the time of
creation.
let a = 1
let b = 2
console.log(a * 2)
console.log(b * 2)
IMP
let values$ = of(1, 2);
let transform$ = values$.pipe(map(a => a * 2));
transform$.subscribe(
value => console.log(value)
);
RP
Babel Coder
reactive programming
Babel Coder
functional reactive programming
FRP RP Functional
= +
let a
let b
1 3 4
2 6 8
map / reduce / filter
Babel Coder
RxJS
ReactiveX
An API for asynchronous programming with observable streams
stream
A sequence of values over time.
[0, 1, 2, 3, 4, 5]
[(100, 120), (200, 199), (33, 71)]
[
"b",
"ba",
"bab",
"babel"
]
Streams Operators
+
Babel Coder
observable
Observables act as a blueprint for how we want to create streams,
subscribe to them, react to new values,
and combine streams together to build new ones.
Observer Observable
Stream
Babel Coder
marble diagrams
let streamA$ = interval(1000);
let streamB$ = streamA$.pipe(map(a => a * 2));
streamB$.subscribe(console.log); 0
2
4
6
…
marble diagrams
marble diagrams
Babel Coder
marble diagrams
let streamA$ = interval(1000);
let streamB$ = streamA$.pipe(map(a => a * 2));
/*
streamA: ---0---1---2---3---4...
map(a => 2 * a)
streamB: ---0---2---4---6---8...
*/
streamB$.subscribe(value => console.log(value)); Babel Coder
reactive programming
It allows you to specify the dynamic behavior of a value completely at the time of
creation.
let a = 1
let b = 2
console.log(a * 2)
console.log(b * 2)
IMP
let values$ = of(1, 2);
let transform$ = values$.pipe(map(a => a * 2));
transform$.subscribe(
value => console.log(value)
);
RP
Babel Coder
Subscribing to Observables
Babel Coder
const subscription = interval(1_000).subscribe({
next: (v) => console.log(v),
error: (err) => console.error(err),
complete: () => console.log('completed!'),
});
setTimeout(() => subscription.unsubscribe,
5_000);
0
1
2
3
4
map
interval(1000)
.pipe(map((v) => v * 2))
.subscribe((value) =>
console.log(value));
0
2
4
...
Babel Coder
filter
interval(1000)
.pipe(filter((v) => v % 2 === 0))
.subscribe((value) =>
console.log(value));
0
2
4
...
Babel Coder
merge
const timer1 = interval(500).pipe(take(3));
const timer2 = interval(1000).pipe(take(3));
merge(timer1, timer2).subscribe((value) => console.log(value));
0
1
0
2
1
2
Babel Coder
concat
const timer1 = interval(500).pipe(take(3));
const timer2 = interval(1000).pipe(take(3));
concat(timer1, timer2).subscribe((value) => console.log(value));
0
1
2
0
1
2 Babel Coder
mergeAll
of(1, 2, 3)
.pipe(
map((v) => interval(500).pipe(take(v * 2))),
mergeAll()
)
.subscribe(console.log); Babel Coder
mergeMap
of(1, 2, 3)
.pipe(mergeMap((v) => interval(500).pipe(take(v * 2))))
.subscribe(console.log);
Babel Coder
concatAll
fromEvent(document, 'click')
.pipe(
map(() => interval(500).pipe(take(3))),
concatAll()
)
.subscribe((x) => console.log(x));
Babel Coder
switchMap
interval(500)
.pipe(take(3))
.pipe(switchMap((x) => of(x, x ** 2, x ** 3)))
.subscribe((x) => console.log(x));
Babel Coder
combineLatest
const firstTimer = timer(0, 1000).pipe(take(3));
const secondTimer = timer(500, 1000).pipe(take(3));
combineLatest([firstTimer, secondTimer]).subscribe((value) =>
console.log(value)
);
Babel Coder
debounceTime
fromEvent(document, 'click')
.pipe(
debounceTime(1000),
map(() => 'x')
)
.subscribe((x) => console.log(x));
Babel Coder
retry
interval(100)
.pipe(
mergeMap((val) => (val > 5 ? throwError(() => 'Error!') : of(val))),
retry(2) // retry 2 times on error
)
.subscribe({
next: (value) => console.log(value),
error: (err) => console.log(`${err}: Retried 2 times then quit!`),
}); Babel Coder
distinctUntilChanged
of(1, 1, 1, 2, 2, 2, 1, 1, 3, 3)
.pipe(distinctUntilChanged())
.subscribe(console.log);
1
2
1
3
of({ x: 1, y: 1 }, { x: 1, y: 2 }, { x: 2, y: 2 }, { x: 3, y: 1 })
.pipe(
distinctUntilChanged((prev, curr) => {
return prev.x === curr.x || prev.y === curr.y;
})
)
.subscribe(console.log);
{ x: 1, y: 1 }
{ x: 2, y: 2 }
{ x: 3, y: 1 }
Babel Coder
Subject
A Subject is like an Observable, but can multicast to many Observers. Subjects are
like EventEmitters: they maintain a registry of many listeners.
const subject = new Subject<number>();
subject.subscribe({
next: (v) => console.log(`Observer
A: ${v}`),
});
subject.subscribe({
next: (v) => console.log(`Observer
B: ${v}`),
});
subject.next(1);
subject.next(2);
subject.subscribe({
next: (v) => console.log(`Observer
C: ${v}`),
});
subject.next(3);
Observer A: 1
Observer B: 1
Observer A: 2
Observer B: 2
Observer A: 3
Observer B: 3
Observer C: 3
Babel Coder
BehaviorSubject
BehaviorSubjects are useful for representing "values over time".
const subject = new BehaviorSubject<number>(0);
subject.subscribe({
next: (v) => console.log(`Observer A: ${v}`),
});
subject.subscribe({
next: (v) => console.log(`Observer B: ${v}`),
});
subject.next(1);
subject.next(2);
subject.subscribe({
next: (v) => console.log(`Observer C: ${v}`),
});
subject.next(3);
Observer A: 0
Observer B: 0
Observer A: 1
Observer B: 1
Observer A: 2
Observer B: 2
Observer B: 2
Observer A: 3
Observer B: 3
Observer C: 3
Babel Coder
Example I: Type-ahead Suggestions
const searchBox = document.getElementById('search-box') as HTMLInputElement;
fromEvent(searchBox, 'input')
.pipe(
map((e) => (e.target as HTMLInputElement).value),
filter((text) => text.length > 3),
debounceTime(100),
distinctUntilChanged(),
switchMap((searchTerm) => ajax(`/api/endpoint?search=${searchTerm}`))
)
.subscribe((v) => console.log(v));
Babel Coder
Example II: Retry API Request
ajax('/api/endpoint')
.pipe(retry(2))
.subscribe((v) => console.log(v));
Babel Coder
Form Design
<form>
<div class="form-group">
<label for="email">Email address</label>
<input type="email"
class="form-control"
id="email"
placeholder="Enter email">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password"
class="form-control"
id="password"
placeholder="Password">
</div>
<button type="submit"
class="btn btn-primary">
Submit
</button>
</form>
FormGroup
FromControl
FromControl
Routing
URL
Router
Route
Component
Babel Coder
/books
Books
Book1
Book2
Book3
Book4
Book#1
/books/1
/books/new
/books/1/edit
Babel Coder
const appRoutes: Routes = [
{
path: 'books',
component: BooksComponent,
children: [
{
path: '',
component: BookListComponent
},
{
path: 'new',
component: FormComponent
},
{
path: ':id',
component: BookComponent
}
]
}
]
Books
App
Babel Coder
const appRoutes: Routes = [
{
path: 'books',
component: BooksComponent,
children: [
{
path: '',
component: BookListComponent
},
{
path: 'new',
component: FormComponent
},
{
path: ':id',
component: BookComponent,
children: [
{
path: 'edit',
component: FormComponent
}
]
}
]
}
]
Books
App
Book
Form
Babel Coder
https://www.babelcoder.com/books/1/edit
path
Books
<router-outlet>
</router-outlet>
Book
<router-outlet>
</router-outlet>
Form
routerLink
<a class="btn btn-secondary btn-sm" routerLink="/books/new">Create</a>
<a class="nav-link"
routerLinkActive="active"
[routerLink]="['/books', book.id, 'details']">Content</a>
<a class="nav-link"
routerLinkActive="active"
routerLinkActiveOptions="{ exact: true }"
[routerLink]="['/']">Content</a>
<a class="page-link"
[routerLink]="['/books']" [queryParams]="{ page: page }">
{{ page }}
</a>
Babel Coder
ActivatedRoute
this.route.snapshot
this.route.paramMap
ActivatedRouteSnapshot
this.route.queryParamMap Observable
…
Babel Coder
ParamMap
Book
/books/1 /books/2
ngOnInit() {
this.route.paramMap.subscribe(
(params: ParamMap) => this.id = params.get(‘id’);
);
}
Babel Coder
CanActivate
Guard
navigate
Babel Coder
CanDeactivate
Guard
navigate
Babel Coder
REST
Stands for “Representational State Transfer”
RESTful Web Services are one way of providing
interoperability between computer systems on the Internet.
Babel Coder
Traditional Web Architectures
Server
Presentation
Application
Persistence
Browser
Babel Coder
Client / Server
Internet
Client Server
Uniform Interface
User
Article
Comment
URL
/users
GET
POST
PUT
PATCH
DELETE
List All Users
Create New User
Babel Coder
Uniform Interface
User
Article
Comment
URL
/users/1
HTML
XML
JSON
text/html
application/xml
application/json
Babel Coder
Stateless
Internet
Client Server
User
Article
Comment
Babel Coder
HTTP Status Codes
CODE STATUS
1xx Informational responses
2xx Success
3xx Redirection
4xx Client Errors
5xx Server Errors
HTTP Status Codes
CODE STATUS
200 OK
201 Created
204 No Content
401 Unauthorized
404 Not Found
405 Method Not Allowed
422 Unprocessable Entity
500 Internal Server Error
Authentication & Authorization
Authentication
Articles
Authorization
Babel Coder
Authentication & authorization
Authentication is the process of ascertaining that
somebody really is who he claims to be.
Authorization refers to rules that determine who is
allowed to do what.
Babel Coder
A
B
C
423432g2f3j23
g23hg42j4h2k3
jh3g56jh5gj333
423432g2f3j23
g23hg42j4h2k3
jh3g56jh5gj333
Babel Coder
A
B
C
423432g2f3j23
g23hg42j4h2k3
jh3g56jh5gj333
423432g2f3j23
Babel Coder
423432g2f3j23
g23hg42j4h2k3
jh3g56jh5gj333
Babel Coder
JSON Web Token
JSON Web Token (JWT) is a JSON-based open standard (RFC 7519) for creating access tokens that
assert some number of claims.
<HEADER>.<PAYLOAD>.<SIGNATURE>
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJtZXNzYWdlIjoiSldUIFJ1bGVzISIsImlhdCI6MTQ1OTQ0ODExOSwiZXhwIjoxNDU5NDU0NTE5fQ.-yIVBD5b73C75osbmwwshQ
Babel Coder

More Related Content

What's hot (20)

Angular Data Binding
Angular Data BindingAngular Data Binding
Angular Data Binding
Jennifer Estrada
 
Introduction to Node js
Introduction to Node jsIntroduction to Node js
Introduction to Node js
Akshay Mathur
 
Angular Basics.pptx
Angular Basics.pptxAngular Basics.pptx
Angular Basics.pptx
AshokKumar616995
 
What’s New in Angular 14?
What’s New in Angular 14?What’s New in Angular 14?
What’s New in Angular 14?
Albiorix Technology
 
Angular interview questions
Angular interview questionsAngular interview questions
Angular interview questions
Goa App
 
Routing & Navigating Pages in Angular 2
Routing & Navigating Pages in Angular 2Routing & Navigating Pages in Angular 2
Routing & Navigating Pages in Angular 2
Knoldus Inc.
 
Angular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP ServicesAngular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP Services
WebStackAcademy
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
AMD Developer Central
 
Angular 9
Angular 9 Angular 9
Angular 9
Raja Vishnu
 
Angular introduction students
Angular introduction studentsAngular introduction students
Angular introduction students
Christian John Felix
 
Angular 18 course for begineers and experienced
Angular 18 course for begineers and experiencedAngular 18 course for begineers and experienced
Angular 18 course for begineers and experienced
tejaswinimysoola
 
Angular
AngularAngular
Angular
Lilia Sfaxi
 
Angular Introduction By Surekha Gadkari
Angular Introduction By Surekha GadkariAngular Introduction By Surekha Gadkari
Angular Introduction By Surekha Gadkari
Surekha Gadkari
 
Angular directives and pipes
Angular directives and pipesAngular directives and pipes
Angular directives and pipes
Knoldus Inc.
 
Angular Routing Guard
Angular Routing GuardAngular Routing Guard
Angular Routing Guard
Knoldus Inc.
 
Nodejs presentation
Nodejs presentationNodejs presentation
Nodejs presentation
Arvind Devaraj
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete project
Jadson Santos
 
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Edureka!
 
Angular modules in depth
Angular modules in depthAngular modules in depth
Angular modules in depth
Christoffer Noring
 
Intro to vue.js
Intro to vue.jsIntro to vue.js
Intro to vue.js
TechMagic
 
Introduction to Node js
Introduction to Node jsIntroduction to Node js
Introduction to Node js
Akshay Mathur
 
Angular interview questions
Angular interview questionsAngular interview questions
Angular interview questions
Goa App
 
Routing & Navigating Pages in Angular 2
Routing & Navigating Pages in Angular 2Routing & Navigating Pages in Angular 2
Routing & Navigating Pages in Angular 2
Knoldus Inc.
 
Angular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP ServicesAngular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP Services
WebStackAcademy
 
Angular 18 course for begineers and experienced
Angular 18 course for begineers and experiencedAngular 18 course for begineers and experienced
Angular 18 course for begineers and experienced
tejaswinimysoola
 
Angular Introduction By Surekha Gadkari
Angular Introduction By Surekha GadkariAngular Introduction By Surekha Gadkari
Angular Introduction By Surekha Gadkari
Surekha Gadkari
 
Angular directives and pipes
Angular directives and pipesAngular directives and pipes
Angular directives and pipes
Knoldus Inc.
 
Angular Routing Guard
Angular Routing GuardAngular Routing Guard
Angular Routing Guard
Knoldus Inc.
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete project
Jadson Santos
 
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Edureka!
 
Intro to vue.js
Intro to vue.jsIntro to vue.js
Intro to vue.js
TechMagic
 

Similar to angular fundamentals.pdf angular fundamentals.pdf (20)

angular fundamentals.pdf
angular fundamentals.pdfangular fundamentals.pdf
angular fundamentals.pdf
NuttavutThongjor1
 
Angular2 + rxjs
Angular2 + rxjsAngular2 + rxjs
Angular2 + rxjs
Christoffer Noring
 
Commit University - Exploring Angular 2
Commit University - Exploring Angular 2Commit University - Exploring Angular 2
Commit University - Exploring Angular 2
Commit University
 
yrs of IT experience in enterprise programming
yrs of IT experience in enterprise programmingyrs of IT experience in enterprise programming
yrs of IT experience in enterprise programming
narasimhulum1623
 
Angular 2 - The Next Framework
Angular 2 - The Next FrameworkAngular 2 - The Next Framework
Angular 2 - The Next Framework
Commit University
 
Angular JS2 Training Session #2
Angular JS2 Training Session #2Angular JS2 Training Session #2
Angular JS2 Training Session #2
Paras Mendiratta
 
What is your money doing?
What is your money doing?What is your money doing?
What is your money doing?
Alfonso Fernández
 
Angular2 workshop
Angular2 workshopAngular2 workshop
Angular2 workshop
Nir Kaufman
 
An introduction to Angular2
An introduction to Angular2 An introduction to Angular2
An introduction to Angular2
Apptension
 
2 years of angular: lessons learned
2 years of angular: lessons learned2 years of angular: lessons learned
2 years of angular: lessons learned
Dirk Luijk
 
Angular 2 overview in 60 minutes
Angular 2 overview in 60 minutesAngular 2 overview in 60 minutes
Angular 2 overview in 60 minutes
Loiane Groner
 
Exploring Angular 2 - Episode 1
Exploring Angular 2 - Episode 1Exploring Angular 2 - Episode 1
Exploring Angular 2 - Episode 1
Ahmed Moawad
 
Building a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web ServicesBuilding a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web Services
David Giard
 
Angular 2 - Core Concepts
Angular 2 - Core ConceptsAngular 2 - Core Concepts
Angular 2 - Core Concepts
Fabio Biondi
 
Angular2 with type script
Angular2 with type scriptAngular2 with type script
Angular2 with type script
Ravi Mone
 
An evening with Angular 2
An evening with Angular 2An evening with Angular 2
An evening with Angular 2
Mike Melusky
 
Angular 2 Essential Training
Angular 2 Essential Training Angular 2 Essential Training
Angular 2 Essential Training
Patrick Schroeder
 
Exploring Angular 2 - Episode 2
Exploring Angular 2 - Episode 2Exploring Angular 2 - Episode 2
Exploring Angular 2 - Episode 2
Ahmed Moawad
 
An afternoon with angular 2
An afternoon with angular 2An afternoon with angular 2
An afternoon with angular 2
Mike Melusky
 
Angular2 Development for Java developers
Angular2 Development for Java developersAngular2 Development for Java developers
Angular2 Development for Java developers
Yakov Fain
 
Commit University - Exploring Angular 2
Commit University - Exploring Angular 2Commit University - Exploring Angular 2
Commit University - Exploring Angular 2
Commit University
 
yrs of IT experience in enterprise programming
yrs of IT experience in enterprise programmingyrs of IT experience in enterprise programming
yrs of IT experience in enterprise programming
narasimhulum1623
 
Angular 2 - The Next Framework
Angular 2 - The Next FrameworkAngular 2 - The Next Framework
Angular 2 - The Next Framework
Commit University
 
Angular JS2 Training Session #2
Angular JS2 Training Session #2Angular JS2 Training Session #2
Angular JS2 Training Session #2
Paras Mendiratta
 
Angular2 workshop
Angular2 workshopAngular2 workshop
Angular2 workshop
Nir Kaufman
 
An introduction to Angular2
An introduction to Angular2 An introduction to Angular2
An introduction to Angular2
Apptension
 
2 years of angular: lessons learned
2 years of angular: lessons learned2 years of angular: lessons learned
2 years of angular: lessons learned
Dirk Luijk
 
Angular 2 overview in 60 minutes
Angular 2 overview in 60 minutesAngular 2 overview in 60 minutes
Angular 2 overview in 60 minutes
Loiane Groner
 
Exploring Angular 2 - Episode 1
Exploring Angular 2 - Episode 1Exploring Angular 2 - Episode 1
Exploring Angular 2 - Episode 1
Ahmed Moawad
 
Building a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web ServicesBuilding a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web Services
David Giard
 
Angular 2 - Core Concepts
Angular 2 - Core ConceptsAngular 2 - Core Concepts
Angular 2 - Core Concepts
Fabio Biondi
 
Angular2 with type script
Angular2 with type scriptAngular2 with type script
Angular2 with type script
Ravi Mone
 
An evening with Angular 2
An evening with Angular 2An evening with Angular 2
An evening with Angular 2
Mike Melusky
 
Angular 2 Essential Training
Angular 2 Essential Training Angular 2 Essential Training
Angular 2 Essential Training
Patrick Schroeder
 
Exploring Angular 2 - Episode 2
Exploring Angular 2 - Episode 2Exploring Angular 2 - Episode 2
Exploring Angular 2 - Episode 2
Ahmed Moawad
 
An afternoon with angular 2
An afternoon with angular 2An afternoon with angular 2
An afternoon with angular 2
Mike Melusky
 
Angular2 Development for Java developers
Angular2 Development for Java developersAngular2 Development for Java developers
Angular2 Development for Java developers
Yakov Fain
 
Ad

More from NuttavutThongjor1 (20)

Modern DevOps Day 5.pdfModern DevOps Day 5.pdf
Modern DevOps Day 5.pdfModern DevOps Day 5.pdfModern DevOps Day 5.pdfModern DevOps Day 5.pdf
Modern DevOps Day 5.pdfModern DevOps Day 5.pdf
NuttavutThongjor1
 
Modern DevOps Day 4.pdfModern DevOps Day 4.pdf
Modern DevOps Day 4.pdfModern DevOps Day 4.pdfModern DevOps Day 4.pdfModern DevOps Day 4.pdf
Modern DevOps Day 4.pdfModern DevOps Day 4.pdf
NuttavutThongjor1
 
Modern DevOps Day 3.pdfModern DevOps Day 3.pdf
Modern DevOps Day 3.pdfModern DevOps Day 3.pdfModern DevOps Day 3.pdfModern DevOps Day 3.pdf
Modern DevOps Day 3.pdfModern DevOps Day 3.pdf
NuttavutThongjor1
 
Modern DevOps Day 2.pdfModern DevOps Day 2.pdf
Modern DevOps Day 2.pdfModern DevOps Day 2.pdfModern DevOps Day 2.pdfModern DevOps Day 2.pdf
Modern DevOps Day 2.pdfModern DevOps Day 2.pdf
NuttavutThongjor1
 
Modern DevOps Day 1.pdfModern DevOps Day 1.pdfModern DevOps Day 1.pdf
Modern DevOps Day 1.pdfModern DevOps Day 1.pdfModern DevOps Day 1.pdfModern DevOps Day 1.pdfModern DevOps Day 1.pdfModern DevOps Day 1.pdf
Modern DevOps Day 1.pdfModern DevOps Day 1.pdfModern DevOps Day 1.pdf
NuttavutThongjor1
 
misc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdf
misc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdf
misc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdf
NuttavutThongjor1
 
Nest.js Microservices (1).pdf Nest.js Microservices (1).pdfNest.js Microservi...
Nest.js Microservices (1).pdf Nest.js Microservices (1).pdfNest.js Microservi...Nest.js Microservices (1).pdf Nest.js Microservices (1).pdfNest.js Microservi...
Nest.js Microservices (1).pdf Nest.js Microservices (1).pdfNest.js Microservi...
NuttavutThongjor1
 
Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...
Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...
Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...
NuttavutThongjor1
 
GraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdf
GraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdf
GraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdf
NuttavutThongjor1
 
Nest.js RESTful API development.pdf Nest.js RESTful API development.pdf
Nest.js RESTful API development.pdf Nest.js RESTful API development.pdfNest.js RESTful API development.pdf Nest.js RESTful API development.pdf
Nest.js RESTful API development.pdf Nest.js RESTful API development.pdf
NuttavutThongjor1
 
Nest.js RESTful API development.pdfNest.js RESTful API development.pdf
Nest.js RESTful API development.pdfNest.js RESTful API development.pdfNest.js RESTful API development.pdfNest.js RESTful API development.pdf
Nest.js RESTful API development.pdfNest.js RESTful API development.pdf
NuttavutThongjor1
 
Recap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdf
Recap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdfRecap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdf
Recap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdf
NuttavutThongjor1
 
Next.js web development.pdfNext.js web development.pdfNext.js web development...
Next.js web development.pdfNext.js web development.pdfNext.js web development...Next.js web development.pdfNext.js web development.pdfNext.js web development...
Next.js web development.pdfNext.js web development.pdfNext.js web development...
NuttavutThongjor1
 
Next.js web development.pdfNext.js web development.pdfNext.js web development...
Next.js web development.pdfNext.js web development.pdfNext.js web development...Next.js web development.pdfNext.js web development.pdfNext.js web development...
Next.js web development.pdfNext.js web development.pdfNext.js web development...
NuttavutThongjor1
 
Fullstack Nest.js and Next.js.pdfFullstack Nest.js and Next.js.pdfFullstack N...
Fullstack Nest.js and Next.js.pdfFullstack Nest.js and Next.js.pdfFullstack N...Fullstack Nest.js and Next.js.pdfFullstack Nest.js and Next.js.pdfFullstack N...
Fullstack Nest.js and Next.js.pdfFullstack Nest.js and Next.js.pdfFullstack N...
NuttavutThongjor1
 
Recap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdf
Recap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdfRecap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdf
Recap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdf
NuttavutThongjor1
 
Intro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdf
Intro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdf
Intro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdf
NuttavutThongjor1
 
10 วัฒนธรรมองค์กรของ DevOps.pdf10 วัฒนธรรมองค์กรของ DevOps.pdf
10 วัฒนธรรมองค์กรของ DevOps.pdf10 วัฒนธรรมองค์กรของ DevOps.pdf10 วัฒนธรรมองค์กรของ DevOps.pdf10 วัฒนธรรมองค์กรของ DevOps.pdf
10 วัฒนธรรมองค์กรของ DevOps.pdf10 วัฒนธรรมองค์กรของ DevOps.pdf
NuttavutThongjor1
 
9 logging and monitoring.pdf 9 logging and monitoring.pdf
9 logging and monitoring.pdf 9 logging and monitoring.pdf9 logging and monitoring.pdf 9 logging and monitoring.pdf
9 logging and monitoring.pdf 9 logging and monitoring.pdf
NuttavutThongjor1
 
8 iac.pdf 8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf
8 iac.pdf 8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf 8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf
8 iac.pdf 8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf
NuttavutThongjor1
 
Modern DevOps Day 5.pdfModern DevOps Day 5.pdf
Modern DevOps Day 5.pdfModern DevOps Day 5.pdfModern DevOps Day 5.pdfModern DevOps Day 5.pdf
Modern DevOps Day 5.pdfModern DevOps Day 5.pdf
NuttavutThongjor1
 
Modern DevOps Day 4.pdfModern DevOps Day 4.pdf
Modern DevOps Day 4.pdfModern DevOps Day 4.pdfModern DevOps Day 4.pdfModern DevOps Day 4.pdf
Modern DevOps Day 4.pdfModern DevOps Day 4.pdf
NuttavutThongjor1
 
Modern DevOps Day 3.pdfModern DevOps Day 3.pdf
Modern DevOps Day 3.pdfModern DevOps Day 3.pdfModern DevOps Day 3.pdfModern DevOps Day 3.pdf
Modern DevOps Day 3.pdfModern DevOps Day 3.pdf
NuttavutThongjor1
 
Modern DevOps Day 2.pdfModern DevOps Day 2.pdf
Modern DevOps Day 2.pdfModern DevOps Day 2.pdfModern DevOps Day 2.pdfModern DevOps Day 2.pdf
Modern DevOps Day 2.pdfModern DevOps Day 2.pdf
NuttavutThongjor1
 
Modern DevOps Day 1.pdfModern DevOps Day 1.pdfModern DevOps Day 1.pdf
Modern DevOps Day 1.pdfModern DevOps Day 1.pdfModern DevOps Day 1.pdfModern DevOps Day 1.pdfModern DevOps Day 1.pdfModern DevOps Day 1.pdf
Modern DevOps Day 1.pdfModern DevOps Day 1.pdfModern DevOps Day 1.pdf
NuttavutThongjor1
 
misc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdf
misc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdf
misc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdfmisc.pdf
NuttavutThongjor1
 
Nest.js Microservices (1).pdf Nest.js Microservices (1).pdfNest.js Microservi...
Nest.js Microservices (1).pdf Nest.js Microservices (1).pdfNest.js Microservi...Nest.js Microservices (1).pdf Nest.js Microservices (1).pdfNest.js Microservi...
Nest.js Microservices (1).pdf Nest.js Microservices (1).pdfNest.js Microservi...
NuttavutThongjor1
 
Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...
Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...
Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...
NuttavutThongjor1
 
GraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdf
GraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdf
GraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdfGraphQL.pdf
NuttavutThongjor1
 
Nest.js RESTful API development.pdf Nest.js RESTful API development.pdf
Nest.js RESTful API development.pdf Nest.js RESTful API development.pdfNest.js RESTful API development.pdf Nest.js RESTful API development.pdf
Nest.js RESTful API development.pdf Nest.js RESTful API development.pdf
NuttavutThongjor1
 
Nest.js RESTful API development.pdfNest.js RESTful API development.pdf
Nest.js RESTful API development.pdfNest.js RESTful API development.pdfNest.js RESTful API development.pdfNest.js RESTful API development.pdf
Nest.js RESTful API development.pdfNest.js RESTful API development.pdf
NuttavutThongjor1
 
Recap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdf
Recap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdfRecap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdf
Recap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdf
NuttavutThongjor1
 
Next.js web development.pdfNext.js web development.pdfNext.js web development...
Next.js web development.pdfNext.js web development.pdfNext.js web development...Next.js web development.pdfNext.js web development.pdfNext.js web development...
Next.js web development.pdfNext.js web development.pdfNext.js web development...
NuttavutThongjor1
 
Next.js web development.pdfNext.js web development.pdfNext.js web development...
Next.js web development.pdfNext.js web development.pdfNext.js web development...Next.js web development.pdfNext.js web development.pdfNext.js web development...
Next.js web development.pdfNext.js web development.pdfNext.js web development...
NuttavutThongjor1
 
Fullstack Nest.js and Next.js.pdfFullstack Nest.js and Next.js.pdfFullstack N...
Fullstack Nest.js and Next.js.pdfFullstack Nest.js and Next.js.pdfFullstack N...Fullstack Nest.js and Next.js.pdfFullstack Nest.js and Next.js.pdfFullstack N...
Fullstack Nest.js and Next.js.pdfFullstack Nest.js and Next.js.pdfFullstack N...
NuttavutThongjor1
 
Recap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdf
Recap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdfRecap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdf
Recap JavaScript and TypeScript.pdf Recap JavaScript and TypeScript.pdf
NuttavutThongjor1
 
Intro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdf
Intro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdf
Intro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdf
NuttavutThongjor1
 
10 วัฒนธรรมองค์กรของ DevOps.pdf10 วัฒนธรรมองค์กรของ DevOps.pdf
10 วัฒนธรรมองค์กรของ DevOps.pdf10 วัฒนธรรมองค์กรของ DevOps.pdf10 วัฒนธรรมองค์กรของ DevOps.pdf10 วัฒนธรรมองค์กรของ DevOps.pdf
10 วัฒนธรรมองค์กรของ DevOps.pdf10 วัฒนธรรมองค์กรของ DevOps.pdf
NuttavutThongjor1
 
9 logging and monitoring.pdf 9 logging and monitoring.pdf
9 logging and monitoring.pdf 9 logging and monitoring.pdf9 logging and monitoring.pdf 9 logging and monitoring.pdf
9 logging and monitoring.pdf 9 logging and monitoring.pdf
NuttavutThongjor1
 
8 iac.pdf 8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf
8 iac.pdf 8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf 8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf
8 iac.pdf 8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf8 iac.pdf
NuttavutThongjor1
 
Ad

Recently uploaded (20)

BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024
BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024
BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024
Quiz Club of PSG College of Arts & Science
 
How to Create Quotation Templates Sequence in Odoo 18 Sales
How to Create Quotation Templates Sequence in Odoo 18 SalesHow to Create Quotation Templates Sequence in Odoo 18 Sales
How to Create Quotation Templates Sequence in Odoo 18 Sales
Celine George
 
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
parmarjuli1412
 
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKANMATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
aditya23173
 
Analysis of Quantitative Data Parametric and non-parametric tests.pptx
Analysis of Quantitative Data Parametric and non-parametric tests.pptxAnalysis of Quantitative Data Parametric and non-parametric tests.pptx
Analysis of Quantitative Data Parametric and non-parametric tests.pptx
Shrutidhara2
 
How to Manage Maintenance Request in Odoo 18
How to Manage Maintenance Request in Odoo 18How to Manage Maintenance Request in Odoo 18
How to Manage Maintenance Request in Odoo 18
Celine George
 
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition OecdEnergy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
razelitouali
 
LDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDMMIA Free Reiki Yoga S9 Grad Level Intuition IILDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDM & Mia eStudios
 
Adam Grant: Transforming Work Culture Through Organizational Psychology
Adam Grant: Transforming Work Culture Through Organizational PsychologyAdam Grant: Transforming Work Culture Through Organizational Psychology
Adam Grant: Transforming Work Culture Through Organizational Psychology
Prachi Shah
 
SEXUALITY , UNWANTED PREGANCY AND SEXUAL ASSAULT .pptx
SEXUALITY , UNWANTED PREGANCY AND SEXUAL ASSAULT .pptxSEXUALITY , UNWANTED PREGANCY AND SEXUAL ASSAULT .pptx
SEXUALITY , UNWANTED PREGANCY AND SEXUAL ASSAULT .pptx
PoojaSen20
 
Trends Spotting Strategic foresight for tomorrow’s education systems - Debora...
Trends Spotting Strategic foresight for tomorrow’s education systems - Debora...Trends Spotting Strategic foresight for tomorrow’s education systems - Debora...
Trends Spotting Strategic foresight for tomorrow’s education systems - Debora...
EduSkills OECD
 
Ray Dalio How Countries go Broke the Big Cycle
Ray Dalio How Countries go Broke the Big CycleRay Dalio How Countries go Broke the Big Cycle
Ray Dalio How Countries go Broke the Big Cycle
Dadang Solihin
 
Hemiptera & Neuroptera: Insect Diversity.pptx
Hemiptera & Neuroptera: Insect Diversity.pptxHemiptera & Neuroptera: Insect Diversity.pptx
Hemiptera & Neuroptera: Insect Diversity.pptx
Arshad Shaikh
 
How to Create an Event in Odoo 18 - Odoo 18 Slides
How to Create an Event in Odoo 18 - Odoo 18 SlidesHow to Create an Event in Odoo 18 - Odoo 18 Slides
How to Create an Event in Odoo 18 - Odoo 18 Slides
Celine George
 
Allomorps and word formation.pptx - Google Slides.pdf
Allomorps and word formation.pptx - Google Slides.pdfAllomorps and word formation.pptx - Google Slides.pdf
Allomorps and word formation.pptx - Google Slides.pdf
Abha Pandey
 
EUPHORIA GENERAL QUIZ FINALS | QUIZ CLUB OF PSGCAS | 21 MARCH 2025
EUPHORIA GENERAL QUIZ FINALS | QUIZ CLUB OF PSGCAS | 21 MARCH 2025EUPHORIA GENERAL QUIZ FINALS | QUIZ CLUB OF PSGCAS | 21 MARCH 2025
EUPHORIA GENERAL QUIZ FINALS | QUIZ CLUB OF PSGCAS | 21 MARCH 2025
Quiz Club of PSG College of Arts & Science
 
How to Configure Vendor Management in Lunch App of Odoo 18
How to Configure Vendor Management in Lunch App of Odoo 18How to Configure Vendor Management in Lunch App of Odoo 18
How to Configure Vendor Management in Lunch App of Odoo 18
Celine George
 
Parenting Teens: Supporting Trust, resilience and independence
Parenting Teens: Supporting Trust, resilience and independenceParenting Teens: Supporting Trust, resilience and independence
Parenting Teens: Supporting Trust, resilience and independence
Pooky Knightsmith
 
What are the benefits that dance brings?
What are the benefits that dance brings?What are the benefits that dance brings?
What are the benefits that dance brings?
memi27
 
How to Create a Rainbow Man Effect in Odoo 18
How to Create a Rainbow Man Effect in Odoo 18How to Create a Rainbow Man Effect in Odoo 18
How to Create a Rainbow Man Effect in Odoo 18
Celine George
 
How to Create Quotation Templates Sequence in Odoo 18 Sales
How to Create Quotation Templates Sequence in Odoo 18 SalesHow to Create Quotation Templates Sequence in Odoo 18 Sales
How to Create Quotation Templates Sequence in Odoo 18 Sales
Celine George
 
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
parmarjuli1412
 
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKANMATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
aditya23173
 
Analysis of Quantitative Data Parametric and non-parametric tests.pptx
Analysis of Quantitative Data Parametric and non-parametric tests.pptxAnalysis of Quantitative Data Parametric and non-parametric tests.pptx
Analysis of Quantitative Data Parametric and non-parametric tests.pptx
Shrutidhara2
 
How to Manage Maintenance Request in Odoo 18
How to Manage Maintenance Request in Odoo 18How to Manage Maintenance Request in Odoo 18
How to Manage Maintenance Request in Odoo 18
Celine George
 
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition OecdEnergy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
razelitouali
 
LDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDMMIA Free Reiki Yoga S9 Grad Level Intuition IILDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDM & Mia eStudios
 
Adam Grant: Transforming Work Culture Through Organizational Psychology
Adam Grant: Transforming Work Culture Through Organizational PsychologyAdam Grant: Transforming Work Culture Through Organizational Psychology
Adam Grant: Transforming Work Culture Through Organizational Psychology
Prachi Shah
 
SEXUALITY , UNWANTED PREGANCY AND SEXUAL ASSAULT .pptx
SEXUALITY , UNWANTED PREGANCY AND SEXUAL ASSAULT .pptxSEXUALITY , UNWANTED PREGANCY AND SEXUAL ASSAULT .pptx
SEXUALITY , UNWANTED PREGANCY AND SEXUAL ASSAULT .pptx
PoojaSen20
 
Trends Spotting Strategic foresight for tomorrow’s education systems - Debora...
Trends Spotting Strategic foresight for tomorrow’s education systems - Debora...Trends Spotting Strategic foresight for tomorrow’s education systems - Debora...
Trends Spotting Strategic foresight for tomorrow’s education systems - Debora...
EduSkills OECD
 
Ray Dalio How Countries go Broke the Big Cycle
Ray Dalio How Countries go Broke the Big CycleRay Dalio How Countries go Broke the Big Cycle
Ray Dalio How Countries go Broke the Big Cycle
Dadang Solihin
 
Hemiptera & Neuroptera: Insect Diversity.pptx
Hemiptera & Neuroptera: Insect Diversity.pptxHemiptera & Neuroptera: Insect Diversity.pptx
Hemiptera & Neuroptera: Insect Diversity.pptx
Arshad Shaikh
 
How to Create an Event in Odoo 18 - Odoo 18 Slides
How to Create an Event in Odoo 18 - Odoo 18 SlidesHow to Create an Event in Odoo 18 - Odoo 18 Slides
How to Create an Event in Odoo 18 - Odoo 18 Slides
Celine George
 
Allomorps and word formation.pptx - Google Slides.pdf
Allomorps and word formation.pptx - Google Slides.pdfAllomorps and word formation.pptx - Google Slides.pdf
Allomorps and word formation.pptx - Google Slides.pdf
Abha Pandey
 
How to Configure Vendor Management in Lunch App of Odoo 18
How to Configure Vendor Management in Lunch App of Odoo 18How to Configure Vendor Management in Lunch App of Odoo 18
How to Configure Vendor Management in Lunch App of Odoo 18
Celine George
 
Parenting Teens: Supporting Trust, resilience and independence
Parenting Teens: Supporting Trust, resilience and independenceParenting Teens: Supporting Trust, resilience and independence
Parenting Teens: Supporting Trust, resilience and independence
Pooky Knightsmith
 
What are the benefits that dance brings?
What are the benefits that dance brings?What are the benefits that dance brings?
What are the benefits that dance brings?
memi27
 
How to Create a Rainbow Man Effect in Odoo 18
How to Create a Rainbow Man Effect in Odoo 18How to Create a Rainbow Man Effect in Odoo 18
How to Create a Rainbow Man Effect in Odoo 18
Celine George
 

angular fundamentals.pdf angular fundamentals.pdf