📚 Cheatsheet

Une collection organisée de snippets de code pour accélérer votre développement. Parcourez, recherchez et copiez en un clic.

Snippets 7

Retour
Modules - Déclaration d'un NgModule
Intermédiaire
@NgModule({
  declarations: [MonComposant, MonPipe],
  imports: [CommonModule, HttpClientModule],
  providers: [MonService],
  exports: [MonComposant]
})
export class MonModulePartage {}
Modules - Fournir un service uniquement dans un module
Intermédiaire
@NgModule({
  providers: [MonServiceSpecifique]
})
export class ModuleSpecifique {}
Modules - Fournisseur avec useFactory
Avancé
{
  provide: ConfigService,
  useFactory: (authService) => new ConfigService(authService.isAdmin()),
  deps: [AuthService]
}
Modules - Module de fonctionnalités
Avancé
// Dans app-routing.module.ts
const routes: Routes = [{
  path: 'clients',
  loadChildren: () => import('./clients/clients.module').then(m => m.ClientsModule)
}];
Optimisation - Préchargement des modules lazy-loaded
Avancé
// Dans app-routing.module.ts
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
Optimisation - Stratégie de détection de changement OnPush
Avancé
import { ChangeDetectionStrategy, Component } from '@angular/core';

@Component({
  selector: 'app-item-liste',
  changeDetection: ChangeDetectionStrategy.OnPush,
  template: '...'
})
Optimisation - trackBy avec *ngFor
Avancé
<li *ngFor="let item of items; trackBy: trackById">{{ item.name }}</li>

// Dans le composant
trackById(index: number, item: any): number {
  return item.id;
}