linkedin-skill-assessments-quizzes

Angular

F1. Was ist der Zweck des ViewChild-Dekorators in dieser Komponentenklasse?

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

DigitalOcean - viewchild-access-component

F2. Welche Methode wird verwendet, um ein FormControl in reaktiven Formularen mit einem nativen DOM-Eingabeelement zu verbinden?

Angular.io - Reactive Form Groups

F3. Was ist der Unterschied zwischen paramMap und queryParamMap in der ActivatedRoute-Klasse?

StackOverflow

F4. Basierend auf der folgenden Verwendung der async-Pipe und unter der Annahme, dass das Klassenfeld users ein Observable ist, wie viele Subscriptions zum users-Observable werden erstellt?

<h2>Namen</h2>
<div *ngFor="let user of users | async"></div>
<h2>Alter</h2>
<div *ngFor="let user of users | async"></div>
<h2>Geschlechter</h2>
<div *ngFor="let user of users | async"></div>

UltimateCourses

F5. Wie können Sie den HttpClient verwenden, um eine POST-Anfrage an einen Endpunkt aus einer addOrder-Funktion in diesem OrderService zu senden?

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

  addOrder(order: Order) {
    // Fehlende Zeile
  }
}

Angular.io - Daten an Server senden

F6. Wofür wird die RouterModule.forRoot-Methode verwendet?

O’REILLY

F7. Welche DOM-Elemente werden mit diesem Komponenten-Metadaten-Selektor übereinstimmen?

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

Angular.io - Component Metadata

F8. Was ist die korrekte Template-Syntax für die Verwendung der eingebauten strukturellen ngFor-Direktive, um eine Liste von productNames zu rendern?

Angular.io - Strukturelle Direktiven

F9. Was sind die beiden Komponenten-Dekorator-Metadaten-Eigenschaften, die verwendet werden, um CSS-Stile für eine Komponente einzurichten?

Angular.io - Component Styles

F10. Mit der folgenden Komponentenklasse, welche Template-Syntax würden Sie im Template verwenden, um den Wert des title-Klassenfelds anzuzeigen?

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

Angular.io - String Interpolation oder Text Interpolation

F11. Was ist der Zweck der valueChanges-Methode auf einem FormControl?

Angular.io - Anzeigen eines Formular-Control-Werts

F12. Welche Direktive wird verwendet, um ein <a>-Tag mit Routing zu verknüpfen?

Angular.io - RouterLink

F13. Wofür wird der Output-Dekorator in dieser Komponentenklasse verwendet?

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

Angular.io - Daten an übergeordnete Komponente senden

F14. Was ist der Unterschied zwischen diesen beiden Markup-Beispielen für die bedingte Handhabung der Anzeige?

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

StackOverflow

F15. Wie können Sie den Submit-Button deaktivieren, wenn das Formular in diesem Template-getriebenen Formular-Beispiel Fehler hat?

<form #userForm="ngForm">
  <input type="text" ngModel name="firstName" required />
  <input type="text" ngModel name="lastName" required />
  <button (click)="submit(userForm.value)">Speichern</button>
</form>

Angular.io - Formular mit ngSubmit absenden

F16. Welchen Angular CLI-Befehl würden Sie verwenden, um zu sehen, welche Dateien durch das Erstellen einer neuen contact-card-Komponente generiert würden?

Angular.io - ng generate Optionen

F17. Basierend auf der folgenden Komponente, welche Template-Syntax würden Sie verwenden, um das titleText-Feld der TitleCardComponent an die title-Eigenschaft des h1-Elements zu binden?

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

Angular.io - String Interpolation

F18. Was sind Angular-Lifecycle-Hooks?

Angular.io - Lifecycle Hooks

F19. Wählen Sie die beste Beschreibung für diese Template-Syntax aus:

<span>Chef:  </span>

StackOverflow

F20. Wie würden Sie eine Route-Definition für eine UserDetailComponent konfigurieren, die den URL-Pfad user/23 unterstützt (wobei 23 die ID des angeforderten Benutzers darstellt)?

CodeCraft - Parametrisierte Routes

F21. Was machen die HostListener-Dekoratoren und der HostBinding-Dekorator in dieser Direktive?

@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

F22. Welche Angular-Template-Syntax können Sie auf diesem Template-getriebenen Formularfeld verwenden, um auf den Feldwert zuzugreifen und die Validierung innerhalb des Template-Markups zu überprüfen?

<input type="text" ngModel name="firstName" required minlength="4" />
<span *ngIf="">Ungültige Felddaten</span>
  1. Angular.io - Validierungsfehlermeldungen anzeigen und verbergen
  2. Medium

F23. Welcher Werttyp wird in der headerText-Template-Referenzvariablen in diesem Markup gespeichert?

<h1 #headerText>Benutzerliste</h1>

Pluralsight - Template-Referenzvariable

F24. Was ist der Unterschied, falls vorhanden, der resultierenden Code-Logik basierend auf diesen beiden Provider-Konfigurationen?

[{ provide: FormattedLogger, useClass: Logger }][{ provide: FormattedLogger, useExisting: Logger }];
  1. Angular.io - Dependency Providers
  2. TektutorialHub

F25. Was ist der Zweck der data-Eigenschaft (im folgenden Beispiel zu sehen) in einer Route-Konfiguration?

   {
       path: 'customers',
       component: CustomerListComponent,
       data: { accountSection: true }
   }
  1. TektutorialsHub
  2. StackOverflow

F26. Wie ändert die eingebaute strukturelle ngIf-Direktive das gerenderte DOM basierend auf dieser Template-Syntax?

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

Referenz (angular.io)

F27. Was bewirkt dieser Code?

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

platformBrowserDynamic().bootstrapModule(AppModule);

Angular.io - Das grundlegende NgModule

F28. Welche Wahl beschreibt am besten, was die resolve-Eigenschaft in dieser Route-Konfiguration macht?

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

angular.io

F29. Was ist der Zweck des ContentChildren-Dekorators in dieser Komponentenklasse?

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

betterprogramming.pub

F30. Damit Angular Komponenten in einer Anwendung verarbeiten kann, wo müssen die Komponententypen registriert werden?

angular.io

F31. Was ist der Zweck des fixture.detectChanges()-Aufrufs in diesem Unit-Test?

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

fixture.detectChanges();

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

angular.io

F32. Wie wird das URL-Segment aussehen, basierend auf dem folgenden Aufruf der Router.navigate-Methode, wenn goToUser mit dem Wert 15 übergeben wird?

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

angular.io

F33. Wenn ein Service für root bereitgestellt wird und auch zur Provider-Konfiguration für ein Lazy-Loaded-Modul hinzugefügt wird, welche Instanz dieses Services stellt der Injector Konstruktoren im Lazy-Loaded-Modul bereit?

F34. Was macht der HostBinding-Dekorator in dieser Direktive?

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

StackOverflow

F35. In reaktiven Formularen, welcher Angular-Formularklassentyp wird auf dem nativen DOM-<form>-Element verwendet, um es zu verdrahten?

F36. Angenommen, das username-FormControl wurde mit einem minLength-Validator konfiguriert, wie können Sie eine Fehleranzeige im folgenden reaktiven Formular-Markup für das username-Feld einrichten?

<form [formGroup]="form">
  <input type="text" formControlName="username" />
  ...
</form>

Codecraft

F37. Wie handhabt der emulierte View-Encapsulation-Modus CSS für eine Komponente?

Angular.io

F38. Mit dem folgenden TestBed-Setup, was kann verwendet werden, um auf das gerenderte DOM für die UserCardComponent zuzugreifen?

TestBed.configureTestingModule({
  declarations: [UserCardComponent],
});
let fixture = TestBed.createComponent(UserCardComponent);
  1. StackOverflow
  2. Angular.io

F39. Gegeben diese beiden Komponenten, was wird basierend auf der Markup-Verwendung in das DOM gerendert?

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

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

// Markup-Verwendung:
<app-card><app-bio>Seit vier Jahren dabei.</app-bio></app-card>

F40. Gegeben die app-title-card-Komponente im folgenden Code, welches DOM wird die app-user-card-Komponente rendern?

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

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

// Verwendung der User-Card-Komponente im HTML der übergeordneten Komponente
<app-user-card></app-user-card>

F41. Wählen Sie den passenden Code für die benutzerdefinierte Provider-Registrierung aus, nach der der @Inject()-Dekorator sucht:

constructor(@Inject('Logger') private logger) { }
  1. StackOverflow
  2. TektutorialHub
  3. Angular.io - Dependency Injection In Action

F42. Welche Wahl beschreibt am besten die folgende Verwendung der HttpClient.get-Methode in der getsettings-Klassenmethode?

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

getSettings()
{
    return this.httpClient.get<Settings>(this.settingsUrl)
        .pipe(
            retry(3)
        );
}}
  1. learnrxjs.io
  2. dev.to

F43. Wenn ein Service eine gewisse Einrichtung benötigt, um seinen Standardzustand durch eine Methode zu initialisieren, wie können Sie sicherstellen, dass diese Methode aufgerufen wird, bevor der Service irgendwo injiziert wird?

  1. Angular.io
  2. Stackoverflow

F44. Was beschreibt diese Verwendung des TestBed am besten?

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

Alle anderen Tests werden ignoriert, einschließlich Tests, die Ergebnisse gegen einen dieser Provider und einen nicht definierten Provider bestätigen. Obwohl es funktioniert, wenn mehrere Provider in dieser Konfiguration in einem einzigen Test bestätigt werden.

F45. Was ist der Hauptunterschied zwischen einer Komponente und einer Direktive?

StackOverflow

F46. Was könnten Sie zu dieser Direktivenklasse hinzufügen, um die Truncate-Länge während der Direktiven-Verwendung im Markup festzulegen?

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

// Beispiel der gewünschten Verwendung:
<p [appTruncate]="10">Sehr langer Text hier</p>
  1. Angular.io
  2. StackOverflow

F47. Wie können Sie Query-Parameter an diese HttpClient.get-Anfrage übergeben?

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

  getOrdersByYear(year: number): Observable<Order[]> {
    return this.httpClient.get<Order[]>(this.ordersUrl);
  }
}
  1. StackOverflow
  2. TektutorialHub

F48. Angenommen, der DataService wurde in den Providern für die Anwendung registriert, welche Antwort beschreibt am besten, was basierend auf dem Konstruktor dieser Komponente passiert?

@Component({
    ...
})
export class OrderHistoryComponent {
    constructor(private dataService: DataService) {}
    ...
}
  1. StackOverflow
  2. Angular.io - Dependency Injection

F49. Vervollständigen Sie dieses Markup mit der ngIf-Direktive, um einen else-Fall zu implementieren, der den Text “Benutzer ist nicht aktiv” anzeigt:

<div *ngIf="userIsActive; else inactive">Derzeit aktiv!</div>

Angular.io

F50. Was ist die korrekte Syntax für eine Route-Definition zum Lazy Loading eines Feature-Moduls?

Angular.io - Lazy Loading Modules

F51. Beschreiben Sie, wie die Validierung in diesem reaktiven Formular-Beispiel eingerichtet und konfiguriert ist:

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};
    }
}
  1. Angular.io - Formularvalidierung
  2. Angular University Blog

F52. Was macht der Injectable-Dekorator auf dieser Service-Klasse?

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

Angular.io

F53. Beschreiben Sie die Verwendung dieses Codes

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

F54. Für das folgende Template-getriebene Formular-Beispiel, welches Argument kann an die submit-Methode im click-Event übergeben werden, um die Daten für das Formular zu übermitteln?

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

F55. Was ist der Zweck der prelodingStrategy-Eigenschaftskonfiguration in diesem Router-Code?

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

Referenzen:

F56. Was ist eine alternative Möglichkeit, dieses Markup zu schreiben, um den Wert des Klassenfelds userName an die title-Eigenschaft des h1-Elements zu binden?

<h1 [title]="userName">Aktueller Benutzer ist </h1>

F57. Was macht die async-Pipe in diesem Beispiel?

@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');
  }
}

F58. Wie würden Sie diese Direktive im Markup basierend auf ihrem Selektor-Wert verwenden?

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

F59. Welcher Lifecycle-Hook kann auf einer Komponente verwendet werden, um alle Änderungen an @Input-Werten auf dieser Komponente zu überwachen?

Wie erkennt man, wann sich ein @Input()-Wert in Angular ändert?

F60. Was wäre ein Beispiel für die Template-Syntax-Verwendung dieser benutzerdefinierten Pipe?

@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;
  }
}

Wie rufe ich eine Angular 2 Pipe mit mehreren Argumenten auf?

F61. Welchen Angular CLI-Befehl würden Sie ausführen, um eine UsersComponent zu generieren und sie zum SharedModule hinzuzufügen (in der Datei shared.module.ts in Ihrer Anwendung)?

F62. Wie können Sie dieses Markup umschreiben, sodass der div-Container im finalen DOM-Rendering nicht benötigt wird?

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

F63. Wie können Sie die Template-Syntax verwenden, um ein Komponenten-Klassenfeld namens tabWidth an eine Inline-Style-CSS-Eigenschaft width auf diesem Element zu binden?

F64. Welche Angular-Utilities, falls vorhanden, sind erforderlich, um einen Service ohne Konstruktor-Abhängigkeiten per Unit-Test zu testen?

Angular Unit-Tests - Antworten erneut prüfen

F65. Was ist der Unterschied zwischen den CanActivate- und den CanLoad-Route-Guards?

CanActivate vs Canload CanActivate verhindert den Zugriff auf Routen, CanLoad verhindert Lazy Loading.

F66. Wofür wird die outlet-Eigenschaft in diesem Router-Definitionsobjekt verwendet?

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

Angular-outlet - Antwort erneut prüfen

F67. In dieser Template-Syntax führt die ngFor-Strukturdirektive jedes Mal, wenn die items-Eigenschaft geändert wird (hinzugefügt, entfernt usw.), ihre Logik für alle DOM-Elemente in der Schleife erneut aus. Welche Syntax kann verwendet werden, um dies performanter zu machen?

<div *ngFor="let item of items"> - </div>

StackOverflow - Wie man trackBy mit ngFor verwendet

F68. Was macht dieser Angular CLI-Befehl?

ng build --configuration=production --progress=false

Angular-Dokumentation - ng build

F69. Service-Klassen können als Provider über welche Dekoratoren registriert werden?

F70. Wofür wird der Input-Dekorator in dieser Komponentenklasse verwendet?

@Component({  selector:'app-product-name',  ...
})
export class ProductNameComponent {  @Input() productName: string
}

F71. Welcher Route-Guard kann verwendet werden, um die Navigation zu einer Route zu vermitteln?

F72. Wie können Sie den Injector konfigurieren, um ein vorhandenes Objekt für ein Token zu verwenden, anstatt eine Klasseninstanz zu instanziieren?

Konfiguration von Dependency-Providern

F73. Basierend auf dieser Route-Definition, was kann in den UserDetailComponent-Konstruktor injiziert werden, um den id-Route-Parameter zu erhalten?

{path: 'user/:id', component: UserDetailComponent }

Häufige Routing-Aufgaben

F74. Mit dem folgenden reaktiven Formular-Markup, was würden Sie hinzufügen, um einen Aufruf an eine onSubmit-Klassenmethode zu verdrahten?

<form [formGroup]="form">
  <input type="text" formControlName="username" />
  <button type="submit" [disabled]="form. invalid">Absenden</button>
</form>

Angular - Formulare

F75. Was ist der erwartete DOM-Code für diese Verwendung des ngClass-Attribut-Direktivs, wenn isActive true ist?

<div [ngClass]="{ 'active-item': isActive }">Element Eins</div>

Angular - NgClass

F76. Welche Antwort erklärt am besten die Verwendung von ngModel in diesem Template-Code?

<input [(ngModel)]="user.name" />

Angular - NgModel

F77. NgModules können innerhalb anderer NgModules enthalten sein. Welches Code-Beispiel sollten Sie verwenden, um TableModule in SharedModule einzuschließen?

text

text

text

F78. Welche andere Template-Syntax (die die ngClass-Direktive ersetzt) kann verwendet werden, um die CSS-Klassennamen in diesem Markup hinzuzufügen oder zu entfernen?

<span [ngClass]="{ 'active': isActive, 'can-toggle': canToggle }"> Beschäftigt </span>

F79. In diesem Direktiven-Dekorator-Beispiel, was ist der Zweck der multi-Eigenschaft im Provider-Objekt-Literal?

@Directive({
  selector: '[customValidator]',
  providers: [
    {
      provide: NG_VALIDATORS,
      useExisting: CustomValidatorDirective,
      multi: true,
    },
  ],
})
export class CustomValidatorDirective implements Validator {}

StackOverflow

F80. Welchen Angular CLI-Befehl würden Sie verwenden, um Ihre Unit-Tests in einem Prozess auszuführen, der Ihre Test-Suite bei Dateiänderungen erneut ausführt?

F81. Was ist die häufigste Verwendung für den ngOnDestory-Lifecycle-Hook?

F82. Welche NgModule-Dekorator-Metadaten-Eigenschaft wird genutzt, um anderen zu erlauben…?

F83. Mit der folgenden Komponentenklasse, welche Template-Syntax würden Sie im Template verwenden, um das Ergebnis des Aufrufs der currentYear-Klassenfunktion anzuzeigen?

@Component({
  selector: 'app-date-card',
  template: '',
})
export class DateCardComponent {
  currentYear() {
    return new Date().getFullYear();
  }
}