Angular

Services & Dependency Injection

Services, @Injectable, providedIn, dependency injection, hierarchical injectors, injection tokens, providers

20 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Junior
1

Service āđƒāļ™ Angular āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

Service āļ„āļ·āļ­āļ„āļĨāļēāļŠ TypeScript āļ—āļĩāđˆāļ•āļāđāļ•āđˆāļ‡āļ”āđ‰āļ§āļĒ @Injectable āļ‹āļķāđˆāļ‡āļŦāđˆāļ­āļŦāļļāđ‰āļĄāļ•āļĢāļĢāļāļ°āļ—āļēāļ‡āļ˜āļļāļĢāļāļīāļˆāļŦāļĢāļ·āļ­āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļ™ Service āļ›āļāļīāļšāļąāļ•āļīāļ•āļēāļĄāļŦāļĨāļąāļāļāļēāļĢāđāļĒāļāļ„āļ§āļēāļĄāļĢāļąāļšāļœāļīāļ”āļŠāļ­āļšāđ‚āļ”āļĒāļāļēāļĢāļ”āļķāļ‡āļ•āļĢāļĢāļāļ°āļ—āļĩāđˆāļ™āļģāļāļĨāļąāļšāļĄāļēāđƒāļŠāđ‰āđƒāļŦāļĄāđˆāļ­āļ­āļāļˆāļēāļ component āļŠāļēāļĄāļēāļĢāļ–āļ–āļđāļ inject āđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™āļ„āļĨāļēāļŠāļ­āļ·āđˆāļ™āļœāđˆāļēāļ™āļĢāļ°āļšāļš dependency injection āļ‚āļ­āļ‡ Angular āļŠāđˆāļ‡āđ€āļŠāļĢāļīāļĄāļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āđ‚āļĄāļ”āļđāļĨāđāļĨāļ°āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‚āļ­āļ‡āđ‚āļ„āđ‰āļ”

2

Decorator āđƒāļ”āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ„āļĨāļēāļŠ injectable āđ„āļ”āđ‰āđƒāļ™ Angular?

āļ„āļģāļ•āļ­āļš

Decorator @Injectable āđ€āļ›āđ‡āļ™āļŠāļīāđˆāļ‡āļˆāļģāđ€āļ›āđ‡āļ™āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļ„āļĨāļēāļŠāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ€āļ›āđ‡āļ™ service āđƒāļ™āļĢāļ°āļšāļš dependency injection āļ‚āļ­āļ‡ Angular āđ„āļ”āđ‰ Decorator āļ™āļĩāđ‰āļŠāđˆāļ§āļĒāđƒāļŦāđ‰ Angular āļŠāļĢāđ‰āļēāļ‡ metadata āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āđ€āļžāļ·āđˆāļ­āđāļāđ‰āđ„āļ‚ dependencies āļ‚āļ­āļ‡ service āļŦāļēāļāđ„āļĄāđˆāļĄāļĩ @Injectable āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ TypeScript āļˆāļ°āđ„āļĄāđˆāđ€āļāđ‡āļšāļĢāļąāļāļĐāļēāļ‚āđ‰āļ­āļĄāļđāļĨāļ›āļĢāļ°āđ€āļ āļ—āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢ inject āļ—āļģāđƒāļŦāđ‰āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ” runtime

3

āđ„āļ§āļĒāļēāļāļĢāļ“āđŒāļ—āļĩāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡āđƒāļ™āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ service āļžāļ·āđ‰āļ™āļāļēāļ™āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

āđ„āļ§āļĒāļēāļāļĢāļ“āđŒāļ—āļĩāđˆāļŠāļĄāļšāļđāļĢāļ“āđŒāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ Angular service āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļāļēāļĢ import Injectable decorator āļˆāļēāļ @angular/core āļˆāļēāļāļ™āļąāđ‰āļ™āļ™āļģāđ„āļ›āđƒāļŠāđ‰āļāļąāļšāļ„āļĨāļēāļŠāļ”āđ‰āļ§āļĒāļ•āļąāļ§āđ€āļĨāļ·āļ­āļ providedIn āļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ—āļĩāđˆāļ—āļąāļ™āļŠāļĄāļąāļĒāļ™āļĩāđ‰āļĨāļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™ service āđƒāļ™ root injector āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ providedIn: 'root' āđ€āļ›āđ‡āļ™āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™ tree-shaking āđāļĨāļ°āļĢāļąāļšāļ›āļĢāļ°āļāļąāļ™ singleton āļĢāļ°āļ”āļąāļšāđ‚āļĨāļ

4

providedIn: 'root' āđƒāļ™ @Injectable āļŦāļĄāļēāļĒāļ„āļ§āļēāļĄāļ§āđˆāļēāļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

5

āļˆāļ° inject service āđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™ component āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

+17 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Angular āļ­āļ·āđˆāļ™āđ†

āļžāļ·āđ‰āļ™āļāļēāļ™ TypeScript

Junior
25 āļ„āļģāļ–āļēāļĄ

TypeScript āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

Junior
20 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ Angular

Junior
20 āļ„āļģāļ–āļēāļĄ

āļ„āļ­āļĄāđ‚āļžāđ€āļ™āļ™āļ•āđŒāđāļĨāļ°āļ§āļ‡āļˆāļĢāļŠāļĩāļ§āļīāļ•

Junior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļˆāļąāļ”āļĢāļ°āđ€āļšāļĩāļĒāļšāđ‚āļĄāļ”āļđāļĨ Angular

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Angular CLI

Junior
18 āļ„āļģāļ–āļēāļĄ

Directives āđāļĨāļ° Pipes

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Routing āđāļĨāļ°āļāļēāļĢāļ™āļģāļ—āļēāļ‡

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

Reactive Forms

Mid-Level
26 āļ„āļģāļ–āļēāļĄ

Template-driven Forms

Mid-Level
16 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ RxJS

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Operator āļ‚āļ­āļ‡ RxJS

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

HttpClient āđāļĨāļ°āļāļēāļĢāđ€āļĢāļĩāļĒāļ API

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ state āļžāļ·āđ‰āļ™āļāļēāļ™

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Change Detection

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Angular Signals

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Standalone Components

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ—āļģ Unit Testing āđƒāļ™ Angular

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ—āļ”āļŠāļ­āļš End-to-End

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Build āđāļĨāļ°āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ NgRx

Senior
24 āļ„āļģāļ–āļēāļĄ

NgRx āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

Senior
24 āļ„āļģāļ–āļēāļĄ

āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ Angular

Senior
22 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ›āļĢāļąāļšāđāļ•āđˆāļ‡āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

Senior
22 āļ„āļģāļ–āļēāļĄ

āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāđāļĨāļ°āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩ

Senior
20 āļ„āļģāļ–āļēāļĄ

āļĢāļđāļ›āđāļšāļš RxJS āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

Senior
22 āļ„āļģāļ–āļēāļĄ

Angular Universal āđāļĨāļ° SSR

Senior
20 āļ„āļģāļ–āļēāļĄ

Angular Micro-frontends

Senior
20 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ Angular āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ