linkedin-skill-assessments-quizzes

Angulaire

Q1. Quel est le but du décorateur ViewChild dans cette classe de composants ?

@Component({
    ...
    template: '<p #bio></p>'
})
export class UserDetailsComponent {
    @ViewChild('bio') bio;
}

DigitalOcean - viewchild-access-component

Q2. Quelle méthode est utilisée pour connecter un FormControl à un élément d’entrée DOM natif dans des formulaires réactifs ?

Angular.io - Groupes de formulaires réactifs

Q3. Quelle est la différence entre le paramMap et l’ queryParamMap sur l’ ActivatedRoute classe?

StackOverflow

Q4. Sur la base de l’utilisation suivante du canal asynchrone et en supposant que le champ de classe utilisateurs est un Observable, combien d’abonnements aux utilisateurs Observable sont effectués ?

<h2>Names</h2>
<div *ngFor="let user of users | async"></div>
<h2>Ages</h2>
<div *ngFor="let user of users | async"></div>
<h2>Genders</h2>
<div *ngFor="let user of users | async"></div>

UltimateCourses

Q5. Comment utiliser HttpClient pour envoyer une requête POST à un point de terminaison à partir d’une fonction addOrder dans cet OrderService ?

export class OrderService {
  constructor(private httpClient: HttpClient) {}

  addOrder(order: Order) {
    // Missing line
  }
}

Angular.io - Envoi de données au serveur

Q6. Dans quel cas la méthode RouterModule.forRoot est-elle utilisée ?

O ‘ REILLY

Q7. Sur quels éléments DOM ce sélecteur de métadonnées de composant correspondra-t-il ?

@Component({
    selector: 'app-user-card',
    . . .
})

Angular.io - Métadonnées de composant

Q8. Quelle est la syntaxe de modèle correcte pour utiliser la directive structurelle ngFor intégrée pour afficher une liste de productNames ?

<ul>
  <li [ngFor]="let productName of productNames"></li>
</ul>
<ul>
  <li ngFor="let productName of productNames"></li>
</ul>
<ul>
  <li *ngFor="let productName of productNames"></li>
</ul>
<ul>
  <? for productName in productNames { ?>
  <li></li>
  <? } ?>
</ul>

Angular.io- Directives structurelles

Q9. Quelles sont les propriétés de métadonnées des deux décorateurs de composants utilisées pour configurer les styles CSS d’un composant ?

Angular.io - Styles de composants

Q10. Avec la classe de composant suivante, quelle syntaxe de modèle utiliseriez-vous dans le modèle pour afficher la valeur du champ de classe de titre ?

@Component({
  selector: 'app-title-card',
  template: '',
})
class TitleCardComponent {
  title = 'User Data';
}

Angular.io - Interpolation de chaîne ou Interpolation de texte

Q11. Quel est le but de la méthode valueChanges sur un FormControl ?

Angular.io - Affichage d’une valeur de contrôle de

Q12. Quelle directive est utilisée pour lier un <a> balise au routage ?

Angular.io - RouterLink

Q13. À quoi sert le décorateur de sortie dans cette classe de composants ?

@Component({
    selector: 'app-shopping-cart',
    . . .
})
export class ShoppingCartComponent {
    @Output() itemTotalChanged = new EventEmitter();
}

Angular.io - Envoi de données au composant parent

Q14. Quelle est la différence entre ces deux exemples de balisage pour la gestion conditionnelle de l’affichage ?

<div *ngIf="isVisible">Active</div>
<div [hidden]="!isVisible">Active</div>

StackOverflow

Q15. Comment désactiver le bouton d’envoi lorsque le formulaire contient des erreurs dans cet exemple de formulaires pilotés par modèle ?

<form #userForm="ngForm">
  <input type="text" ngModel name="firstName" required />
  <input type="text" ngModel name="lastName" required />
  <button (click)="submit(userForm.value)">Save</button>
</form>
<button (click)="submit(userForm.value)" disable="userForm.invalid">Save</button>
<button (click)="submit(userForm.value)" [disabled]="userForm.invalid">Save</button>
<button (click)="submit(userForm.value)" [ngForm.disabled]="userForm.valid">Save</button>
<button (click)="submit(userForm.value)" *ngIf="userForm.valid">Save</button>

Angular.io - Soumettez le formulaire avec ngSubmit

Q16. Vous voulez voir quels fichiers seraient générés en créant un nouveau composant de carte de visite. Quelle commande utiliseriez-vous ?

Angular.io - ng générer des options

Q17. Sur la base du composant suivant, quelle syntaxe de modèle utiliseriez-vous pour lier le champ titleText de TitleCardComponent à la propriété title de l’élément h1 ?

@Component({
  selector: 'app-title-card',
  template: '<h1 title="User Data"> </h1>',
})
export class TitleCardComponent {
  titleText = 'User Data';
}

Angular.io - Interpolation de chaîne

Q18. Que sont les crochets de cycle de vie Angular ?

Angular.io - Crochets de cycle de vie

Q19. Choisissez la meilleure description pour ce code de syntaxe de modèle :

<span>Boss:  </span>

StackOverflow

Q20. Comment configurer une définition d’itinéraire pour un UserDetailComponent qui prend en charge le chemin d’URL user/23 (où 23 représente l’ID de l’utilisateur demandé) ?

CodeCraft - Itinéraires paramétrés

Q21. Que font les décorateurs HostListener et le décorateur HostBinding dans cette directive ?

@Directive({
  selector: '[appCallout]',
})
export class CalloutDirective {
  @HostBinding('style.font-weight') fontWeight = 'normal';

  @HostListener('mouseenter')
  onMouseEnter() {
    this.fontWeight = 'bold';
  }

  @HostListener('mouseleave')
  onMouseLeave() {
    this.fontWeight = 'normal';
  }
}

DigitalOcean

Q22. Quelle syntaxe de modèle angulaire pouvez-vous utiliser sur ce champ de formulaire piloté par modèle pour accéder à la valeur du champ et vérifier la validation dans le balisage du modèle ?

<input type="text" ngModel name="firstName" required minlength="4" />
<span *ngIf="">Invalid field data</span>

Angular.io -Afficher et masquer l’erreur de validation

Douleur moyenne

Q23. Quel est le type de valeur qui sera stocké dans la variable de référence du modèle headerText dans ce balisage ?

<h1 #headerText>User List</h1>

Pluralsight - Variable de référence de modèle

Q24. Quelle est la différence, le cas échéant, entre la logique de code résultante basée sur ces deux configurations de fournisseur ?

[{ provide: FormattedLogger, useClass: Logger }][{ provide: FormattedLogger, useExisting: Logger }];

Angular.io - Fournisseurs de dépendances

TektutorialHub

Q25. Quel est le but de la propriété de données (voir dans l’exemple ci-dessous) dans une configuration d’itinéraire ?

   {
       path: 'customers',
       component: CustomerListComponent,
       data: { accountSection: true }
   }

TektutorialsHub

StackOverflow

Q26. Comment l’intégré ngIf directive structurelle modifier le DOM rendu en fonction de cette syntaxe de modèle?

@Component({
  selector: 'app-product',
  template: '<div *ngIf="product"></div>',
})
export class ProductComponent {
  @Input() product;
}

Référence (angular.io)

Q27. Qu’est-ce que ce code accomplit ?

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule],
  bootstrap: [AppComponent],
})
export class AppModule {}

platformBrowserDynamic().bootstrapModule(AppModule);

Angular.io - Le NgModule de base

Q28. Quel choix décrit le mieux ce que le résoudre dans cette configuration d’itinéraire ?

{
   path: ':id',
   component: UserComponent,
   resolve: {
     user: UserResolverService
   }
}

angular.io

Q29. Quel est le but du décorateur ContentChildren dans cette classe de composants ?

@Component({
 . . .
 template: '<ng-content></ng-content›'
})
export class TabsListComponent {
 @ContentChildren(TabComponent) tabs;
}

betterprogramming.pub

Q30. Pour qu’Angular puisse traiter des composants dans une application, où les types de composants doivent-ils être enregistrés ?

angular.io

Q31. Quel est le but de l’ fixture.detectChanges() appeler ce test unitaire ?

TestBed.configureTestingModule({
  declarations: [UserCardComponent],
});
let fixture = TestBed.createComponent(UserCardComponent);

fixture.detectChanges();

expect(fixture.nativeElement.querySelector('h1').textContent).toContain(
  fixture.componentInstance.title,
);

angular.io

Q32. À quoi ressemblera le segment d’URL en fonction de l’appel suivant au Router.navigate méthode lorsque goToUser reçoit la valeur 15 ?

export class ToolsComponent {
  constructor(private router: Router) {}
  goToUser(id: number) {
    this.router.navigate(['user', id]);
  }
}

angular.io

Q33. Lorsqu’un service est fourni pour root et est également ajouté à la configuration du fournisseur pour un module chargé paresseusement, quelle instance de ce service l’injecteur fournit-il aux constructeurs dans le module chargé paresseusement ?

Q34. Que fait le décorateur HostBinding dans cette directive ?

@Directive({
  selector: ' [appHighlight] ',
})
export class HighlightDirective {
  @HostBinding('class.highlighted') highlight = true;
}

StackOverflow

Q35. Dans les formulaires réactifs, quel type de classe de formulaire Angular est utilisé sur le DOM natif <form> élément pour le câbler?

Q36. En supposant que le nom d’utilisateur FormControl a été configuré avec un validateur minLength, comment configurer un affichage d’erreur dans le balisage de formulaire réactif suivant pour le champ de nom d’utilisateur ?

<form [formGroup]="form"
  <input type="text" formControlName= "username"
  ...
</form>
    <span *ngIf="username.minLength.invalid"
        Username length is not valid
    </span>
<input type="text" formControlName="username" [showMinLength]="true"
    <span *ngIf="form.get('username').getError('minLength') as minLengthError">
      Username must be at least  characters.
    </span>
<input type="text" formControlName="username" #userName="ngModer">
    <span *ngIf="userName.errors.minlength"
      Username must be at least  characters.
    </span>

Codecraft

Q37. Comment le mode d’encapsulation de vue émulée gère-t-il CSS pour un composant ?

Angular.io

Q38. Avec la configuration testbed suivante, que peut-on utiliser pour accéder au DOM rendu pour userCardComponent ?

TestBed.configureTestingModule({
  declarations: [UserCardComponent],
});
let fixture = TestBed.createComponent(UserCardComponent);

StackOverflow

Angular.io

Q39. Compte tenu de ces deux composants, qu’est-ce qui sera rendu au DOM en fonction de l’utilisation du balisage ?

@Component({
 selector: 'app-card',
 template: '<h1>Data Card</h1><ng-content></ng-content>'
})
export class CardComponent { }

@Component({
 selector: 'app-bio',
 template: '<ng-content></ng-content>.
})
export class BioComponent { }

// markup usage:
<app-card><app-bio>Been around for four years.</app-bio></app-card>
 <app-card>
  <h1>Data Card</hl>
  <app-bio>
   Been around for four years.
  </app-bio>
 </app-card>
<h1>Data Card</h1>
 <app-bio>
  Been around for four years.
 </app-bio>
<app-card>
  <h1>Data Card</hl>
  <ng-content></ng-content>
  <app-bio>
   Been around for four years.
   <ng-content></ng-content>
  </app-bio>
</app-card>
<app-card>
  <h1>Data Card</hl>
</app-card>

Q40. Compte tenu du composant app-title-card dans le code ci-dessous, quel DOM le composant app-user-card rendra-t-il ?

@Component({
   selector: 'app-user-card',
   template: '<app-title-card></app-title-card><p>Jenny Smith</p>'
})

@Component({
   selector: 'app-title-card',
   template: '<h1>User Data</hl>'
})

// usage of user card component in parent component html
<app-user-card></app-user-card>
<app-user-card>
  <app-title-card>
    <h1>User Data</h1>
  </app-title-card>
  <p>Jenny Smith</p>
</app-user-card>
<h1>User Data</h1>
<p>Jenny Smith<p>
<app-user-card>
  <app-title-card></app-title-card>
</app-user-card>
<div app-user-card>
  <h1 app-title-card>User Data</h1>
  <p>Jenny Smith</p>
</div>

Q41. Choisissez le code correspondant à l’enregistrement personnalisé du fournisseur recherché par le décorateur @Inject () :

constructor(@Inject('Logger') private logger) { }
providers: [Logger];
providers: [{ provide: 'Logger', useClass: Logger }];
@Injectable({
    providedln: 'root'
})
providers: [{ provide: 'Logger' }];

StackOverflow

TektutorialHub

Angular.io - L’injection de dépendance en action

Q42. Quel choix décrit le mieux l’utilisation suivante de la méthode HttpClient.get dans la méthode de classe getsettings ?

export class SettingsService {
    constructor(private httpClient: HttpClient) { }
    ...

getSettings()
{
    return this.httpClient.get<Settings>(this.settingsUrl)
        .pipe(
            retry(3)
        );
}}

learnrxjs.io

dev.to

Q43. Lorsqu’un service nécessite une configuration pour initialiser son état par défaut via une méthode, comment pouvez-vous vous assurer que cette méthode est appelée avant que le service ne soit injecté n’importe où ?

Q44. Quelle déclaration décrit le mieux cette utilisation du banc d’essai ?

const spy = jasmine.createSpyObj('DataService', ['getUsersFromApi']);
TestBed.configureTestingModule({
  providers: [UserService, { provide: DataService, useValue: spy }],
});
const userService = TestBed.get(UserService);

Q45. Quelle est la principale différence entre un composant et une directive?

StackOverflow

Q46. Que pourriez-vous ajouter à cette classe de directive pour permettre de définir la longueur tronquée lors de l’utilisation de la directive dans le balisage ?

  @Directive({
      selector: '[appTruncate]'
  })
  export class TruncateDirective {
      . . .
  }

  // example of desired usage:
  <p [appTruncate]="10">Some very long text here</p>

Angular.io

StackOverflow

Q47. Comment pouvez-vous transmettre des paramètres de requête à ceci HttpClient.get demander?

export class OrderService {
  constructor(private httpClient: HttpClient) {}

  getOrdersByYear(year: number): Observable<Order[]> {
    return this.httpClient.get<Order[]>(this.ordersUrl);
  }
}
const options = { params: new HttpParams().set('year', year) };
return this.httpClient.get<Order[]>(this.ordersUrl, options);
getOrdersByYear(year: number): Observable<Order[]> {
    return this.httpClient.addParam('year', year).get<Order[]>(this.ordersUrl, year);
}

StackOverflow

TektutorialHub

Q48. En supposant que le DataService a été enregistré dans les fournisseurs de l’application, quelle réponse décrit le mieux ce qui se passe en fonction du constructeur de ce composant ?

    @Component({
        ...
    })
    export class OrderHistoryComponent {
        constructor(private dataService: DataService) {}
        ...
    }

StackOverflow

Angular.io - Injection de dépendance

Q49. Terminez ce balisage à l’aide de l’icône ngIf directive pour implémenter un autre cas qui affichera le texte « L’utilisateur n’est pas actif »:

<div *ngIf="userIsActive; else inactive">
  Currently active!
</div>
<div #inactive>User is not active.</div>
<div *ngIf="inactive">
  User is not active.
</div>
<ng-template #else="inactive">
  <div>User is not active.</div>
</ng-template>
<ng-template #inactive>
  <div>User is not active.</div>
</ng-template>

Angular.io

Q50. Quelle est la syntaxe correcte pour une définition d’itinéraire pour charger paresseusement un module d’entités ?

  {
      path: 'users',
      lazy: './users/users.module#UsersModule'
  }
{
    path: 'users',
    loadChildren: () => import('./users/users.module').then(m => m.UserModule)
}
{
    path: 'users',
    loadChildren: './users/users.module#UsersModule'
}
{
    path: 'users',
    module: UsersModule
}

Angular.io - Modules de chargement paresseux

Q51. Décrivez comment la validation est configurée et configurée dans cet exemple de formulaires réactifs :

export class UserFormControl implements OnInit {
    ...
    ngOnInit() {
        this.form = this.formBuilder.group({
            username: this.formBuilder.control('',
                [Validators.required, Validators.minLength(5), this.unique]),
        )};
    }
    unique(control: FormControl) {
        return control.value !== 'admin' ? null: {notUnique: true};
    }
}

Angular.io - Validation du formulaire

Blog de l’Université Angular

Q52. Que fait le décorateur injectable sur cette classe de service?

@Injectable({
    providedIn: 'root'
)}
export class DataService { }

Angular.io

Q53. Décrire l’utilisation de ce code

export interface AppSettings {
  title: string;
  version: number;
}
export const APP_SETTINGS = new InjectionToken<AppSettings>('app.settings');

Q54. Pour l’exemple de formulaires pilotés par modèle suivant, quel argument peut être transmis à la méthode submit dans l’événement click pour envoyer les données du formulaire ?

<form #form="ngForm">
  <input type="text" ngModel="firstName" />
  <input type="text" ngModel="lastName" />
  <button (click)="submit()">Save</button>
</form>

Q55. Quel est le but de la configuration de la propriété prelodingStrategy dans ce code de routeur ?

RouterModule.forRoot(
  ...{
    preloadingStrategy: PreloadAllModules,
  },
);

Q56. Quelle est une autre façon d’écrire ce balisage pour lier la valeur du champ de classe userName à l h1 propriété de titre d’élément?

<h1 [title]="userName">Current user is </h1>

Q57. Qu’est-ce que le async pipe doing dans cet exemple ?

@Component({
  selector: 'app-users',
  template: '<div *ngFor="let user of users | async"></div>',
})
export class UsersComponent implements OnInit {
  users;
  constructor(private httpClient: HttpClient) {}
  ngOnInit(): void {
    this.users = this.httpClient.get<{ name: string }>('users');
  }
}

Q58. Comment utiliser cette directive dans le balisage en fonction de sa valeur de sélecteur

@Directive({
	selector: '[appTruncate]'
})
export class TruncateDirective{
	. . .
}

Q59. Quel hook de cycle de vie peut être utilisé sur un composant pour surveiller toutes les modifications apportées aux valeurs de @Input sur ce composant ?

Comment détecter quand une valeur @Input() change dans Angular?

Q60. Quel serait un exemple d’utilisation de la syntaxe de modèle de ce tuyau personnalisé ?

@Pipe({ name: 'truncate' })
export class TruncatePipe implements PipeTransform {
	transform(value: string, maxLength: number, showEllipsis: boolean){
		const newValue = maxLength ? value.substr(0, maxLength): value;
		return showEllipsis ? '${newValue}...` : newValue;
	}
}

[revérifiez les réponses]

Q61. Quelle commande Angular CLI exécuteriez-vous pour générer un UsersComponent et l’ajouter au SharedModule (dans le fichier shared.module.ts de votre application) ?

[revérifiez les réponses]

Q62. Comment réécrire ce balisage pour que le conteneur div ne soit pas nécessaire dans le rendu DOM final

<div *ngIf="location">
	<h1></h1>
	<p></p>
</div>
<div *ngIf="location">
	<h1></h1>
	<p></p>

<ng-template *ngIf="location">
	<h1></h1>
	<p></p>
</ng-template>
<div *ngIf="location" [display]=" ' hidden' ">
	<h1></h1>
	<p></p>
</div>
<ng-container *ngIf="location">
	<h1></h1>
	<p></p>
</ng-container>

[revérifier les réponses]

Q63. Décrivez l’utilisation de ce code :

export interface AppSettings {
  title: string;
  version: number;
}

[revérifier les réponses]

Q64. Quels utilitaires Angular, le cas échéant, sont nécessaires pour tester un service sans dépendances de constructeur ?

Tests unitaires angulaires - revérifier les réponses

Q65. Quelle est la différence entre les protecteurs d’itinéraire CanActivate et CanLoad?

CanActivate vs Canload CanActivate empêche l’accès sur les itinéraires, CanLoad empêche le chargement paresseux.

Q66. À quoi sert la propriété outlet dans cet objet de définition de routeur ?

{
	path: 'document',
	component: DocumentComponent,
	outlet: 'document-box'
}

Prise angulaire - revérifier la réponse