Avatar ·

لما يستخدم providedIn في Injectable decorator عند إنشاء الخدمات في Angular 6؟

مرحباً بالجميع! بدأت بتعلم Angular 6 و TypeScript، ولاحظت عند إنشاء service عبر CLI شيئاً كهذا: ```typescript @Injectable({ providedIn: 'root' }) export class MyService { constructor() { } } ``` سابقاً، في Angular 5، كنت أكتب `@Injectable()` بدون أي parameters، ثم أسجل الـ service في module في قسم `providers`. والآن CLI يولد هذا `providedIn: 'root'`. أنا مشوش قليلاً. هكذا كنت أفعل سابقاً: ```typescript // my.service.ts @Injectable() export class MyService { } // app.module.ts @NgModule({ providers: [MyService] }) export class AppModule { } } والآن الطريقة الجديدة: ```typescript // my.service.ts @Injectable({ providedIn: 'root' }) export class MyService { } ``` الأسئلة: 1. ما الذي يفعله هذا بالضبط؟