providedIn: "root" đăng ký service ở root injector, thường là singleton toàn app và tree-shakable nếu không dùng.
Ví dụ component provider tạo store riêng cho mỗi wizard:
typescript
@Component({
selector: "app-wizard",
providers: [WizardStore],
template: "<ng-content />",
})
export class WizardComponent {}Provider trong component tạo instance ở injector của component đó và áp dụng cho subtree bên dưới.
Dùng root cho shared stateless/service toàn app; dùng component provider khi cần state riêng theo mỗi instance component, ví dụ wizard, tab hoặc embedded feature.