\n \n \n\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is B"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"A","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"C","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"D","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"B","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Sie möchten sehen, welche Dateien durch das Erstellen einer neuen Kontaktkartenkomponente generiert würden. Welchen Befehl würden Sie verwenden?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is ng generate component contact-card --dry-run"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"ng generate component contact-card --no-files","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"ng generate component component --dry","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"ng generate component --exclude","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"ng generate component contact-card --dry-run","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Basierend auf der folgenden Komponente, welche Template-Syntax würden Sie verwenden, um das Feld titleText der TitleCardComponent mit der Eigenschaft title des h1-Elements zu verbinden?\n```ts\n@Component({\n selector: 'app-title-card',\n template: '
{{titleText}}
',\n})\nexport class TitleCardComponent {\n titleText = 'User Data';\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is `
`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"`
{{ titleText }}
`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"`
{{ titleText }}
`","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"`
{{ titleText }}
`","comment":{"@type":"Comment","text":"Option C is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Was sind Angular Lifecycle-Hooks?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Reservierte benannte Methoden für Komponenten und Direktiven, die Angular während seiner Ausführung zu bestimmten Zeiten aufrufen wird und die genutzt werden können, um diese Lebenszyklus-Momente anzuzapfen"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Protokollierer zur Verfolgung der Gesundheit einer Angular-App","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Anbieter, die zur Verfolgung der Instanzen von Komponenten verwendet werden können","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Eingebaute Pipes, die in Vorlagen für DOM-Ereignisse verwendet werden können","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"Reservierte benannte Methoden für Komponenten und Direktiven, die Angular während seiner Ausführung zu bestimmten Zeiten aufrufen wird und die genutzt werden können, um diese Lebenszyklus-Momente anzuzapfen","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Wählen Sie die beste Beschreibung für diesen Template-Syntax-Code aus:\n\n```html\nBoss: {{job?.bossName}} \n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Es verwendet den sicheren Navigationsoperator (?) für das job-Feld. Wenn das job-Feld undefiniert ist, wird der Zugriff auf bossName ignoriert und es tritt kein Fehler auf."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Das ? ist eine Abkürzung für das Async Pipe. Der Wert job muss ein Observable sein.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Im Template-Syntax gibt es einen Fehler. Das ? ist hier nicht gültig.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es zeigt den Wert von job an, wenn er vorhanden ist; andernfalls wird bossName angezeigt.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es verwendet den sicheren Navigationsoperator (?) für das job-Feld. Wenn das job-Feld undefiniert ist, wird der Zugriff auf bossName ignoriert und es tritt kein Fehler auf.","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Wie würden Sie eine Routendefinition für eine UserDetailComponent konfigurieren, die den URL-Pfad user/23 unterstützt (wobei 23 die id des angeforderten Benutzers darstellt)?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is `{ path: 'user/:id', component: UserDetailComponent }`"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"`{ url: 'user/:id', routedComponent: UserDetailComponent }`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"`{ routedPath: 'user/:id', component: UserDetailComponent }`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"`{ destination: new UserDetailComponent(), route: 'user/:id' }`","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"`{ path: 'user/:id', component: UserDetailComponent }`","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was machen die HostListener-Dekorateure und der HostBinding-Dekorateur in dieser Direktive?\n```ts\n@Directive({\n selector: '[appCallout]',\n})\nexport class CalloutDirective {\n @HostBinding('style.font-weight') fontWeight = 'normal';\n\n @HostListener('mouseenter')\n onMouseEnter() {\n this.fontWeight = 'bold';\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n this.fontWeight = 'normal';\n }\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Sie setzen das Feld CalloutDirective.fontWeight basierend darauf, ob die Maus über dem DOM-Element ist oder nicht. Der HostListener setzt dann die CSS-Eigenschaft font-weight auf den Wert fontWeight."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Sie richten die Direktive ein, um das DOM-Element zu überprüfen, auf dem sie sich befindet. Wenn für Maus-Eintritt und -Verlassen Ereignisbindungen hinzugefügt wurden, wird dieser Code verwendet. Andernfalls passiert nichts.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Dies ist eine falsche Verwendung von HostListener und HostBinding. Die Dekorateure HostListener und HostBinding tun nichts auf Direktiven; sie funktionieren nur, wenn sie auf Komponenten angewendet werden.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Wenn das DOM-Element, auf dem diese Direktive platziert ist, die CSS-Eigenschaft font-weight gesetzt hat, werden die Ereignisse mouseenter und mouseleave ausgelöst.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Sie setzen das Feld CalloutDirective.fontWeight basierend darauf, ob die Maus über dem DOM-Element ist oder nicht. Der HostListener setzt dann die CSS-Eigenschaft font-weight auf den Wert fontWeight.","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Welche Angular-Template-Syntax können Sie auf diesem template-gesteuerten Formularfeld verwenden, um auf den Feldwert zuzugreifen und die Validierung im Template-Markup zu überprüfen?\n\n```html\n\nInvalid field data\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Sie können eine Template-Referenzvariable und die exportAs-Funktion verwenden, die die ngModel-Direktive hat."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Sie können die ngModel-Direktive in Kombination mit dem Feldnamen des Eingabefelds verwenden.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Sie können eine Template-Referenzvariable für das HTML-Eingabeelement verwenden und dann die Eigenschaft valid davon überprüfen.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es ist nicht möglich, mit template-gesteuerten Formularen auf den Feldwert zuzugreifen. Dafür müssen Sie reaktive Formulare verwenden.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Sie können eine Template-Referenzvariable und die exportAs-Funktion verwenden, die die ngModel-Direktive hat.","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Welchen Werttyp wird die HeaderText-Template-Referenzvariable in diesem Markup speichern?\n\n```html\n
User List
\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is ein Angular-ElementRef, ein Wrapper um ein natives Element"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"der innere Text des `
`-Elements","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"eine Kopfkomponentenklasse","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"der native DOM-Elementtyp von HTMLHeadingElement","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"ein Angular-ElementRef, ein Wrapper um ein natives Element","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was ist der Unterschied, falls vorhanden, der resultierenden Code-Logik basierend auf diesen beiden Anbieterkonfigurationen?\n\n```ts\n[{ provide: FormattedLogger, useClass: Logger }][{ provide: FormattedLogger, useExisting: Logger }];\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Die Syntax useClass teilt dem Injector mit, eine neue Instanz von Logger zu erstellen und diese Instanz dem FormattedLogger-Token zuzuweisen. Die Verwendung der Syntax useExisting bezieht sich auf eine bereits vorhandene Objektinstanz, die als Logger deklariert ist."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Sie sind gleich. Beide führen zu einer neuen Instanz von Logger, die an das FormattedLogger-Token gebunden ist.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Beide sind falsch. Ein starker Typ kann nicht für useClass oder useExisting verwendet werden.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Sie sind gleich. Beide führen dazu, dass das FormattedLogger-Token ein Alias für die Instanz von Logger ist.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Die Syntax useClass teilt dem Injector mit, eine neue Instanz von Logger zu erstellen und diese Instanz dem FormattedLogger-Token zuzuweisen. Die Verwendung der Syntax useExisting bezieht sich auf eine bereits vorhandene Objektinstanz, die als Logger deklariert ist.","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was ist der Zweck der data-Eigenschaft (wie im folgenden Beispiel gesehen) in einer Routenkonfiguration?\n\n```ts\n {\n path: 'customers',\n component: CustomerListComponent,\n data: { accountSection: true }\n }\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Eine Möglichkeit, statische, schreibgeschützte Daten einzuschließen, die mit der Route verbunden sind und aus ActivatedRoute abgerufen werden können."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Eine Schlüssel-/Wertzuordnung zum Festlegen von @Input-Werten auf der instanzierten Komponente der gerouteten Komponente.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Eigenschaft auf der Route, die verwendet werden kann, um dynamische Daten für die Route zu laden.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Ein Objekt, das automatisch in den Konstruktor der gerouteten Komponente injiziert wird.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Eine Möglichkeit, statische, schreibgeschützte Daten einzuschließen, die mit der Route verbunden sind und aus ActivatedRoute abgerufen werden können.","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Wie ändert die eingebaute `ngIf`-strukturelle Direktive die gerenderte DOM basierend auf dieser Template-Syntax?\n\n```ts\n@Component({\n selector: 'app-product',\n template: '
{{ product.name }}
',\n})\nexport class ProductComponent {\n @Input() product;\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Wenn das Produktklassenfeld \"wahr\" ist, wird die gerenderte DOM den `
` mit dem Wert des Feldes `product.name` enthalten. Wenn es nicht \"wahr\" ist, wird die gerenderte DOM das `
`-Element nicht enthalten."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Das `
` dient als Platzhalter. Wenn das Produktklassenfeld \"wahr\" ist, wird das `
` durch den Wert von `product.name` ersetzt; wenn nicht, wird nichts gerendert.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Das `
` wird immer gerendert, und wenn das Produktfeld \"wahr\" ist, wird das `
`-Element den Wert von `product.name` enthalten; sonst wird es das `
`-Element ohne Wert rendern.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es tritt ein Fehler auf, da ngIf keine eingebaute strukturelle Direktive ist.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"Wenn das Produktklassenfeld \"wahr\" ist, wird die gerenderte DOM den `
` mit dem Wert des Feldes `product.name` enthalten. Wenn es nicht \"wahr\" ist, wird die gerenderte DOM das `
`-Element nicht enthalten.","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was bewirkt dieser Code?\n\n```ts\n@NgModule({\n declarations: [AppComponent],\n imports: [BrowserModule],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Es deklariert ein Angular-Modul namens AppModule, das eine bootstrapped-Komponente namens AppComponent enthält. Dann registriert es dieses Modul bei Angular, damit die App gestartet werden kann."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Es führt einen Unit-Test für ein NgModule aus.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es bietet eine Möglichkeit, die Dokumentstruktur einer Angular-Anwendung zu codieren. Das @NgModule ist eine Form von Inline-Code-Kommentierung, die vom TypeScript-Compiler ignoriert wird, aber in Code-Editor-Anwendungen mit spezieller Formatierung angezeigt wird.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es deklariert ein Angular-Modul namens AppModule und macht es im gesamten Anwendungscode für Lazy Loading verfügbar. ","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"Es deklariert ein Angular-Modul namens AppModule, das eine bootstrapped-Komponente namens AppComponent enthält. Dann registriert es dieses Modul bei Angular, damit die App gestartet werden kann.","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Welche Aussage beschreibt am besten, was die _resolve_-Eigenschaft in dieser Routenkonfiguration bewirkt?\n\n```ts\n{\n path: ':id',\n component: UserComponent,\n resolve: {\n user: UserResolverService\n }\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Vor dem Laden des _UserComponent_ abonniert der Router das von einer _resolve_-Methode im _UserResolverService_ zurückgegebene _Observable_. Diese Technik kann verwendet werden, um vorgeladene Daten für eine _Route_ zu erhalten."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Nachdem die _Route_ gelöst ist und die Komponente geladen und gerendert wurde, wird der _UserResolverService_ eine Methode namens _user_ haben, die alle offenen Datenverbindungen bereinigt.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es gibt einen Fehler. Der korrekte Eigenschaftsname ist _onResolve_.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Das _UserComponent_ wird einen Parameter in seinem Konstruktor für _user_ haben, und der _Router_ wird sich um das Einbringen eines Werts dafür aus einem Aufruf einer _user_-Methode im _UserResolverService_ kümmern.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Vor dem Laden des _UserComponent_ abonniert der Router das von einer _resolve_-Methode im _UserResolverService_ zurückgegebene _Observable_. Diese Technik kann verwendet werden, um vorgeladene Daten für eine _Route_ zu erhalten.","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was ist der Zweck des ContentChildren-Dekorators in dieser Komponentenklasse?\n\n```ts\n@Component({\n . . .\n template: ''\n})\nexport class TabsListComponent {\n @ContentChildren(TabComponent) tabs;\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Es ermöglicht den Zugriff von innerhalb der Komponentenklasse auf alle _TabComponent_-Komponenten, die in das `` für diese Komponente projiziert wurden."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Wenn Elemente _TabsComponent_ zur Vorlage von _TabsListComponent_ hinzugefügt werden, werden sie zur Laufzeit in das ``-Element eingefügt.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es erstellt _TabComponent_-Komponenten in der _TabsListComponent_-Vorlage, wenn ein _TabsListComponent_ instanziiert wird.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es beschränkt die zulässigen Elemente, die in ein _TabsListComponent_-Element eingefügt werden können, um nur _TabComponent_-Elemente zuzulassen.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es ermöglicht den Zugriff von innerhalb der Komponentenklasse auf alle _TabComponent_-Komponenten, die in das `` für diese Komponente projiziert wurden.","comment":{"@type":"Comment","text":"Option C is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Damit Angular Komponenten in einer Anwendung verarbeiten kann, wo müssen die Komponententypen registriert sein?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is in einer NgModule-Dekoratormetadateneigenschaft mit dem Namen _declarations_"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"innerhalb eines Skripttags in der index.html-Datei","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"in einem NgModule-Dekoratormetadatentag mit dem Namen _components_","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Keine Registrierung erforderlich, einfach die Komponentendateien in einem App-Verzeichnis einschließen.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"in einer NgModule-Dekoratormetadateneigenschaft mit dem Namen _declarations_","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was ist der Zweck des Aufrufs `fixture.detectChanges()` in diesem Unittest?\n\n```ts\nTestBed.configureTestingModule({\n declarations: [UserCardComponent],\n});\nlet fixture = TestBed.createComponent(UserCardComponent);\n\nfixture.detectChanges();\n\nexpect(fixture.nativeElement.querySelector('h1').textContent).toContain(\n fixture.componentInstance.title,\n);\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Es zwingt Angular dazu, die Änderungserkennung durchzuführen, was dazu führt, dass das _UserCardComponent_ gerendert wird, bevor Sie seine Vorlage überprüfen können."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Es verfolgt etwaige Änderungen an der UI und der Unittest schlägt fehl, wenn Änderungen vorgenommen wurden.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es wird verwendet, um die Stabilität des Komponentenvorlagen über mehrere Unittests im gesamten Testpaket sicherzustellen.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es wird verwendet, um Änderungserkennungsereignisse während der Ausführung von Unittests in der Konsole zu protokollieren.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es zwingt Angular dazu, die Änderungserkennung durchzuführen, was dazu führt, dass das _UserCardComponent_ gerendert wird, bevor Sie seine Vorlage überprüfen können.","comment":{"@type":"Comment","text":"Option C is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Wie wird das URL-Segment aussehen, basierend auf dem folgenden Aufruf der Methode `Router.navigate`, wenn goToUser der Wert 15 übergeben wird?\n\n```ts\nexport class ToolsComponent {\n constructor(private router: Router) {}\n goToUser(id: number) {\n this.router.navigate(['user', id]);\n }\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is /user/15"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"/user?id=15","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"/user:15","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"/user;id=15","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"/user/15","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Wenn ein Dienst für den Root bereitgestellt wird und auch in die Konfiguration der Anbieter für ein lazy-loaded Modul aufgenommen wird, welches Instanz dieses Dienstes stellt der Injektor für Konstruktoren im lazy-loaded Modul bereit?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Eine neue Instanz dieses Dienstes wird erstellt, wenn das Modul lazy geladen wird."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Das Bereitstellen eines Dienstes des gleichen Typs auf Modulebene, die lazy geladen werden, ist nicht erlaubt.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Wenn eine Instanz des Dienstes noch nicht auf Root-Ebene erstellt wurde, wird dort eine erstellt und dann verwendet.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es wird immer eine einzelne Instanz dieses Dienstes auf Root-Ebene instanziiert und ist die einzige, die jemals verwendet wird, einschließlich innerhalb von Lazy-Modulen.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Eine neue Instanz dieses Dienstes wird erstellt, wenn das Modul lazy geladen wird.","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was macht der HostBinding-Dekorierer in dieser Direktive?\n\n```ts\n@Directive({\n selector: ' [appHighlight] ',\n})\nexport class HighlightDirective {\n @HostBinding('class.highlighted') highlight = true;\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Er fügt dem DOM-Element, das die Direktive appHighlight hat, die CSS-Klasse mit dem Namen highlighted hinzu."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"HostBinding tut nichts bei Direktiven, sondern nur bei Komponenten.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es wird angegeben, dass, wenn das Host-Element der Klasse highlighted in sein class-Attribut hinzugefügt wird, das Direktiven-Klassenfeld highlight auf true gesetzt wird; und wenn es nicht auf dem Host hinzugefügt wird, wird es auf false gesetzt.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es erstellt ein Inline-Styles auf dem Host-Element mit einer CSS-Eigenschaft mit dem Namen highlight, die auf true gesetzt ist.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Er fügt dem DOM-Element, das die Direktive appHighlight hat, die CSS-Klasse mit dem Namen highlighted hinzu.","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"In reaktiven Formularen, welche Angular-Formularklassentyp wird auf dem nativen DOM `\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is D"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"A","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"B","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"C","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"D","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Wie behandelt der emulierte View-Encapsulation-Modus CSS für eine Komponente?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Es erstellt eindeutige Attribute für DOM-Elemente und begrenzt die von Ihnen geschriebenen CSS-Selektoren auf diese Attribut-IDs."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Es rendert das CSS genau so, wie Sie es geschrieben haben, ohne Änderungen.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es verwendet Markup und CSS des Schatten-DOMs.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es rendert alle von Ihnen geschriebenen CSS-Regeln als Inline-CSS auf allen DOM-Elementen, die Sie in der Vorlage verwenden.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es erstellt eindeutige Attribute für DOM-Elemente und begrenzt die von Ihnen geschriebenen CSS-Selektoren auf diese Attribut-IDs.","comment":{"@type":"Comment","text":"Option C is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Mit dem folgenden TestBed-Setup, was kann verwendet werden, um auf das gerenderte DOM für das UserCardComponent zuzugreifen?\n\n```ts\nTestBed.configureTestingModule({\n declarations: [UserCardComponent],\n});\nlet fixture = TestBed.createComponent(UserCardComponent);\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is `fixture.nativeElement`"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"`fixture.componentTemplate`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"`fixture.getComponentHtml()`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"`fixture.componentInstance.template `","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"`fixture.nativeElement`","comment":{"@type":"Comment","text":"Option C is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Angenommen, Sie haben diese beiden Komponenten, was wird basierend auf der Markup-Verwendung im DOM gerendert?\n\n```ts\n@Component({\n selector: 'app-card',\n template: '
Data Card
'\n})\nexport class CardComponent { }\n\n@Component({\n selector: 'app-bio',\n template: '.\n})\nexport class BioComponent { }\n\n// markup usage:\nBeen around for four years.\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is A"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"B","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"C","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"D","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"A","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Angenommen, die App-Title-Card-Komponente im untenstehenden Code, welches DOM wird die App-User-Card-Komponente rendern?\n\n```ts\n@Component({\n selector: 'app-user-card',\n template: '
User Data'\n})\n\n// usage of user card component in parent component html\n\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is A"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"B","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"C","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"D","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"A","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Wählen Sie den passenden Code für die benutzerdefinierte Anbieterregistrierung, nach der der @Inject ()-Dekorierer sucht:\n\n```ts\nconstructor(@Inject('Logger') private logger) { }\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is B"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"A","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"C","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"D","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"B","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Welche Option beschreibt am besten die folgende Verwendung der HttpClient.get-Methode in der Methode `getsettings` der Klasse?\n\n```ts\nexport class SettingsService {\n constructor(private httpClient: HttpClient) { }\n ...\n\ngetSettings()\n{\n return this.httpClient.get(this.settingsUrl)\n .pipe(\n retry(3)\n );\n}}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Wenn das Ergebnis der Methode `getSettings` abonniert wird, wird der HTTP-GET-Aufruf durchgeführt; wenn er fehlschlägt, wird er bis zu drei Mal wiederholt, bevor er aufgibt und einen Fehler zurückgibt."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Die RxJs-Pipe-Methode ist ein Alias für die subscribe-Methode, daher wird ein Aufruf von `getSettings` die GET-Abfrage ausführen. Der retry-Operator wird verwendet, um dem Pipe-Aufruf mitzuteilen, dass die GET-Abfrage dreimal wiederholt werden soll.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es wird zur Laufzeit einen Fehler geben, weil die Pipe-Methode nicht aus dem Aufruf `Httpclient.get` verfügbar ist.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Jeder einzelne Aufruf der Methode `getSettings` führt dazu, dass der Httpclient insgesamt drei GET-Anforderungen an die settingsUrl sendet, was nicht ideal ist, da immer zwei zusätzliche Aufrufe erfolgen, die nicht benötigt werden. Der retry-Operator sollte nicht auf diese Weise verwendet werden.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"Wenn das Ergebnis der Methode `getSettings` abonniert wird, wird der HTTP-GET-Aufruf durchgeführt; wenn er fehlschlägt, wird er bis zu drei Mal wiederholt, bevor er aufgibt und einen Fehler zurückgibt.","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Wenn ein Dienst einige Einrichtung erfordert, um seinen Standardzustand über eine Methode zu initialisieren, wie können Sie sicherstellen, dass diese Methode aufgerufen wird, bevor der Dienst irgendwo injiziert wird?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Verwenden Sie einen Factory-Anbieter auf der Root-AppModule-Ebene, der vom Dienst abhängt, um diese Dienstmethode aufzurufen."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Legen Sie die Logik dieser Dienstmethode in den Dienstkonstruktor.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es ist nicht möglich, dies beim Start der Anwendung zu tun; Sie können es nur auf Komponentenebene tun.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Instanziieren Sie eine Instanz des Dienstes auf globaler Ebene (Fensterbereich) und rufen Sie dann diese Methode auf.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Verwenden Sie einen Factory-Anbieter auf der Root-AppModule-Ebene, der vom Dienst abhängt, um diese Dienstmethode aufzurufen.","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was beschreibt am besten die Verwendung von TestBed?\n\n```ts\nconst spy = jasmine.createSpyObj('DataService', ['getUsersFromApi']);\nTestBed.configureTestingModule({\n providers: [UserService, { provide: DataService, useValue: spy }],\n});\nconst userService = TestBed.get(UserService);\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Das TestBed konstruiert ein NgModule mit zwei Anbietern und behandelt jede Abhängigkeitsinjektion. Wenn eine Angular-Klasse den DataService in ihrem Konstruktor anfordert, wird der TestBed einen Spion in diesen Konstruktor einfügen."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Das TestBed wird immer benötigt, wenn Sie ein Spionageobjekt in einem Einheitstest für einen Angular-Anbieter verwenden möchten.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Das TestBed wird verwendet, um die Ansicht eines Komponenten zu testen.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Das TestBed konfiguriert den Testrunner so, dass nur Tests für die beiden Anbieter in seinem Anbieter-Array ausgeführt werden.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Das TestBed konstruiert ein NgModule mit zwei Anbietern und behandelt jede Abhängigkeitsinjektion. Wenn eine Angular-Klasse den DataService in ihrem Konstruktor anfordert, wird der TestBed einen Spion in diesen Konstruktor einfügen.","comment":{"@type":"Comment","text":"Option C is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Was ist der Hauptunterschied zwischen einer Komponente und einer Direktive?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Eine Komponente hat ein Template und eine Direktive nicht."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Eine Komponente verwendet eine Selector-Metadaten-Eigenschaft und eine Direktive nicht.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Eine Direktive kann verwendet werden, um benutzerdefinierte Ereignisse dem DOM hinzuzufügen, und eine Komponente kann dies nicht.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Eine Direktive kann nur auf native DOM-Elemente abzielen.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Eine Komponente hat ein Template und eine Direktive nicht.","comment":{"@type":"Comment","text":"Option C is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was könnten Sie dieser Direktivenklasse hinzufügen, um die Länge des Abschneidens während der Verwendung der Direktive in der Markup zu ermöglichen?\n\n```ts\n@Directive({\n selector: '[appTruncate]'\n})\nexport class TruncateDirective {\n . . .\n}\n\n// example of desired usage:\n
Some very long text here
\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is `@Input() appTruncate: number;`"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"`@Output() appTruncate;`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"`constructor(maxLength: number) { }`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"`Nichts. Der Direktiv-Selektor kann nicht verwendet werden, um Werte an die Direktive zu übergeben.`","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"`@Input() appTruncate: number;`","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Wie können Sie Abfrageparameter an diese `HttpClient.get` Anfrage übergeben?\n\n```ts\nexport class OrderService {\n constructor(private httpClient: HttpClient) {}\n\n getOrdersByYear(year: number): Observable {\n return this.httpClient.get(this.ordersUrl);\n }\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is C"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"A `return this.httpClient.get(this.ordersUrl, {'year': year})`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"B `return this.httpClient.get(this.ordersUrl, year)`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"D","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"C","comment":{"@type":"Comment","text":"Option C is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Vorausgesetzt, dass der `DataService` in den Anbietern für die Anwendung registriert wurde, welche Antwort beschreibt am besten, was basierend auf dem Konstruktor dieser Komponente passiert?\n\n```ts\n@Component({\n ...\n})\nexport class OrderHistoryComponent {\n constructor(private dataService: DataService) {}\n ...\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Wenn Angular eine neue Instanz der `OrderHistoryComponent` erstellt, wird der Injektor eine Instanz einer `DataService`-Klasse für das erste Argument des Komponentenkonstruktors bereitstellen. Der Konstruktorparameter `dataService` wird verwendet, um ein privates Instanzfeld mit demselben Namen in der Instanz zu setzen."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Es erklärt, dass die `OrderHistoryComponent` ihre eigene Version eines `DataService` haben wird und dass es niemals vorhandene Instanzen verwenden sollte. Der `DataService` müsste als privates Feld innerhalb der Klasse instanziiert werden, damit dieser Code vollständig und funktionsfähig ist.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es bietet eine Möglichkeit, nur Komponententests durchzuführen; der Konstruktor hat keine Verwendung im eigentlichen Betrieb der Angular-Anwendung.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es ermöglicht es dem benutzerdefinierten Element, auf das die Komponente abzielt, eine benutzerdefinierte Eigenschaft namens `dataService` zu haben, die zum Binden einer vorhandenen `DataService`-Instanz verwendet werden kann.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Wenn Angular eine neue Instanz der `OrderHistoryComponent` erstellt, wird der Injektor eine Instanz einer `DataService`-Klasse für das erste Argument des Komponentenkonstruktors bereitstellen. Der Konstruktorparameter `dataService` wird verwendet, um ein privates Instanzfeld mit demselben Namen in der Instanz zu setzen.","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Beenden Sie dieses Markup mit der `ngIf` Direktive, um einen anderen Fall zu implementieren, der den Text \"Benutzer ist nicht aktiv\" anzeigt:\n\n```html\n
Currently active!
\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is D"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"A","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"B","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"C","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"D","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Was ist die richtige Syntax für eine Routendefinition zum Lazy-Loading eines Feature-Moduls?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is B"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"A","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"C","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"D","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"B","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Beschreiben Sie, wie die Validierung in diesem Beispiel für reaktive Formulare eingerichtet und konfiguriert ist:\n\n```ts\nexport class UserFormControl implements OnInit {\n ...\n ngOnInit() {\n this.form = this.formBuilder.group({\n username: this.formBuilder.control('',\n [Validators.required, Validators.minLength(5), this.unique]),\n )};\n }\n unique(control: FormControl) {\n return control.value !== 'admin' ? null: {notUnique: true};\n }\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Das `FormControl` für `username` wird mit drei Validatoren konfiguriert: den `required`- und `minLength`-Validatoren, die von Angular stammen, und einer benutzerdefinierten Validierungsfunktion namens `unique`, die prüft, ob der Wert ungleich dem String `admin` ist."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Das `FormControl` für `username` wird so konfiguriert, dass drei Validatoren von den Validatoren ausgeschlossen werden, die es verwenden darf.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Das `FormControl` für `username` wird so konfiguriert, dass drei mögliche Validatoren verwendet werden können: `required, maxLength` und ein benutzerdefinierter namens `unique`. Um diese `Validator` zu aktivieren, müsste eine Validator-Direktive auf den Formularfeldern im Markup platziert werden.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Validierung kann in reaktiven Formularen nicht auf diese Weise eingerichtet werden.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"Das `FormControl` für `username` wird mit drei Validatoren konfiguriert: den `required`- und `minLength`-Validatoren, die von Angular stammen, und einer benutzerdefinierten Validierungsfunktion namens `unique`, die prüft, ob der Wert ungleich dem String `admin` ist.","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was macht der Injectable-Decorator auf dieser Serviceklasse?\n\n```ts\n@Injectable({\n providedIn: 'root'\n)}\nexport class DataService { }\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Er registriert einen Anbieter für den Dienst im Root-Anwendungs-Injektor und macht eine einzelne Instanz davon in der gesamten Anwendung verfügbar."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Er registriert einen Anbieter für den Dienst, der nur auf der Root-Modul-Ebene verfügbar ist, nicht für alle untergeordneten Module.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Er ermöglicht es, den Dienst nur im startkomponente für die Anwendung zu injizieren.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es richtet eine Kompilierungszeitregel ein, die es Ihnen ermöglicht, den Diensttyp nur in der Providers-Metadaten-Eigenschaft des Root-NgModule zu platzieren.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Er registriert einen Anbieter für den Dienst im Root-Anwendungs-Injektor und macht eine einzelne Instanz davon in der gesamten Anwendung verfügbar.","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Beschreiben Sie die Verwendung dieses Codes\n\n```ts\nexport interface AppSettings {\n title: string;\n version: number;\n}\nexport const APP_SETTINGS = new InjectionToken('app.settings');\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Das InjectionToken wird verwendet, um ein Anbieter-Token für eine Nicht-Klassenabhängigkeit zu erstellen. Ein Objektliteral kann als Wert für den APP_SETTINGS-Abhängigkeitsanbieter-Typ bereitgestellt werden, der dann in Komponenten, Diensten usw. injiziert werden kann."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Das InjectionToken fügt eine Instanz von AppSettings über den InjectionToken-Konstruktoraufruf dem Root-Anbieter hinzu, wodurch sie automatisch allen NgModules, Diensten und Komponenten in der Angular-Anwendung ohne Notwendigkeit zur Injektion zur Verfügung steht.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Das InjectionToken wird verwendet, um einen dynamischen Dekorator für die AppSettings zu erstellen, der auf Konstruktorparameter über einen @AppSettings-Dekorator angewendet werden kann.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Dieser Code hat einen Fehler, da Sie keinen TypeScript-Interface für den generischen Typ auf dem InjectionToken verwenden können.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Das InjectionToken wird verwendet, um ein Anbieter-Token für eine Nicht-Klassenabhängigkeit zu erstellen. Ein Objektliteral kann als Wert für den APP_SETTINGS-Abhängigkeitsanbieter-Typ bereitgestellt werden, der dann in Komponenten, Diensten usw. injiziert werden kann.","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Für das folgende Beispiel für Template-driven Formulare, welches Argument kann der submit-Methode im Klickereignis übergeben werden, um die Daten für das Formular zu übermitteln?\n\n```html\n\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is submit(form.value)"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"submit($event)","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"submit(ngForm.value)","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"submit(Vorname, Nachname)","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"submit(form.value)","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was ist der Zweck der `prelodingStrategy`-Eigenschaftskonfiguration in diesem Routen-Code?\n\n```ts\nRouterModule.forRoot(\n ...{\n preloadingStrategy: PreloadAllModules,\n },\n);\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Es konfiguriert den Router so, dass sofort alle Routen geladen werden, die eine loadChildren-Eigenschaft haben (Routen, die normalerweise bei Bedarf geladen werden)."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Es ermöglicht die Option, einzelne Routen für das Vorladen zu markieren.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es lädt alle Abhängigkeiten für Routen im Voraus, indem es Instanzen von Diensten erstellt, wenn die App zum ersten Mal gestartet wird.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es stellt sicher, dass alle Module in eine einzige App-Modul-Bundle-Datei gebaut werden.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"Es konfiguriert den Router so, dass sofort alle Routen geladen werden, die eine loadChildren-Eigenschaft haben (Routen, die normalerweise bei Bedarf geladen werden).","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Wie kann diese Markup-Alternative geschrieben werden, um den Wert des Feldes `userName` an das Titelattribut des `h1`-Elements zu binden?\n\n```html\n
Current user is {{ userName }}
\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is `title=\"{{ userName }}\"`"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"`title=\"userName\"`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"`title=\"{{ 'userName' }}\"`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Der einzige Weg, dies zu tun, besteht darin, eckige Klammern zu verwenden.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"`title=\"{{ userName }}\"`","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was bewirkt das `async`-Pipe in diesem Beispiel?\n\n```ts\n@Component({\n selector: 'app-users',\n template: '
{{ user.name }}
',\n})\nexport class UsersComponent implements OnInit {\n users;\n constructor(private httpClient: HttpClient) {}\n ngOnInit(): void {\n this.users = this.httpClient.get<{ name: string }>('users');\n }\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Es abonniert das von der Methode `HttpClient.get` zurückgegebene Observable und entpackt den zurückgegebenen Wert, damit er in der `ngFor` iteriert werden kann."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Es tut nichts, da das async-Pipe nicht in einer `ngFor`-Anweisung verwendet werden kann.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es konfiguriert die `ngFor`-Iteration, um gleichzeitig mehrere Listen von Benutzern zu unterstützen.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es ermöglicht es, alle Benutzer im Feld `users` gleichzeitig im DOM zu rendern.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es abonniert das von der Methode `HttpClient.get` zurückgegebene Observable und entpackt den zurückgegebenen Wert, damit er in der `ngFor` iteriert werden kann.","comment":{"@type":"Comment","text":"Option C is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Wie würden Sie diese Direktive im Markup basierend auf ihrem Selektorwert verwenden?\n\n```ts\n@Directive({ selector: '[appTruncate]'\n})\nexport class TruncateDirective{ . . .\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is `html
`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"`html
Some long text
`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"`html Some long text `","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"`html
Some long text
`","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Welcher Lifecycle-Hook kann auf einer Komponente verwendet werden, um alle Änderungen an @Input-Werten auf dieser Komponente zu überwachen?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is ngOnChanges"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"ngOnInit","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"ngChanges","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"ngAfterInputChange","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"ngOnChanges","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was wäre ein Beispiel für die Verwendung dieser benutzerdefinierten Pipe in der Template-Syntax?\n\n```ts\n@Pipe({ name: 'truncate' })\nexport class TruncatePipe implements PipeTransform {\n transform(value: string, maxLength: number, showEllipsis: boolean) {\n const newValue = maxLength ? value.substr(0, maxLength) : value;\n return showEllipsis ? '${newValue}...' : newValue;\n }\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is `{{ 'some long text' | truncate: 10, true }}`"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"`{{ 'some long text' | truncate:10 }}`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"`{{ 'some long text' | truncate }}`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"alle diese Antworten","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"`{{ 'some long text' | truncate: 10, true }}`","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"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)?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is ng generate component users --module=shared"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"ng generate component --newModule=shared","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"ng generate component users --shared","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"ng generate component --add=shared","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"ng generate component users --module=shared","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Wie können Sie dieses Markup neu schreiben, damit der div-Container beim endgültigen DOM-Rendering nicht benötigt wird?\n\n```html\n
\n
{{ location.name }}
\n
{{ location.description }}
\n
\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is D"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"A","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"B","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"C","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"D","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Beschreiben Sie die Verwendung dieses Codes:\n\n```ts\nexport interface AppSettings {\n title: string;\n version: number;\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Das InjectionToken wird verwendet, um einen dynamischen Dekorator für die AppSettings zu erstellen, der auf Konstruktorparametern über einen @AppSettings-Dekorator verwendet werden kann."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Dieser Code enthält einen Fehler, da Sie eine TypeScript-Schnittstelle nicht für den generischen Typ auf InjectionToken verwenden können.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Das InjectionToken wird verwendet, um einen Provider-Token für eine nicht-klassenbasierte Abhängigkeit zu erstellen. Ein Objektliteral kann als Wert für den APP_SETTINGS-Abhängigkeitsprovider-Typ bereitgestellt werden, der dann in Komponenten, Diensten usw. injiziert werden kann.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Das InjectionToken fügt über den Aufruf des InjectionToken-Konstruktors eine Instanz von AppSettings zum Root-Provider hinzu, sodass sie automatisch für alle NgModules, Dienste und Komponenten in der Angular-Anwendung verfügbar ist, ohne sie irgendwo injizieren zu müssen.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"Das InjectionToken wird verwendet, um einen dynamischen Dekorator für die AppSettings zu erstellen, der auf Konstruktorparametern über einen @AppSettings-Dekorator verwendet werden kann.","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Welche Angular-Hilfsprogramme werden benötigt, um einen Dienst ohne Konstruktorabhängigkeiten zu testen?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Die TestBed-Klasse wird benötigt, um den Dienst zu instanziieren."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Die By.css() -Hilfsmethode ist erforderlich.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Ein Text-Fixture ist erforderlich, um den Dienst für den Unittest auszuführen.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Keine. Ein Dienst kann eigenständig instanziiert und unabhängig getestet werden.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"Die TestBed-Klasse wird benötigt, um den Dienst zu instanziieren.","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Was ist der Unterschied zwischen den Routenschutz-CanActivate- und CanLoad-Routenwächtern?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is CanLoad wird beim App-Start verwendet, um das Hinzufügen von Routen zur Routentabelle zu erlauben oder zu verweigern. CanActivate wird verwendet, um den Zugriff auf Routen zum Zeitpunkt ihrer Anforderung zu verwalten."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"CanActivate wird verwendet, um den Zugriff zu überprüfen. CanLoad wird verwendet, um Daten für die Route vorab zu laden.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"CanActivate und CanLoad tun genau dasselbe.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"CanLoad verhindert die Bereitstellung und das Laden eines gesamten NgModule. CanActivate stoppt die Routenführung zu einer Komponente in diesem NgModule, aber dieses Modul wird dennoch geladen.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"CanLoad wird beim App-Start verwendet, um das Hinzufügen von Routen zur Routentabelle zu erlauben oder zu verweigern. CanActivate wird verwendet, um den Zugriff auf Routen zum Zeitpunkt ihrer Anforderung zu verwalten.","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Wofür wird die Outlet-Eigenschaft im Router-Definition-Objekt verwendet?\n\n```ts\n{ path: 'document', component: DocumentComponent, outlet: 'document-box'\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Es wird verwendet, um ein ``-Element mit dem Attributnamen, das mit dem Zeichenfolgenwert übereinstimmt, als Ort für das Rendern von DocumentComponent festzulegen, wenn darauf zugegriffen wird."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Es werden alle Instanzen von `` im DOM lokalisiert und bei der Routennavigation ein DocumentComponent-Element in sie eingefügt.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es wird erklärt, dass das DocumentComponent neben der Routenführung als Kind zu einem ``-Element verwendet werden kann.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es ist eine Stromquelle für den Router. (Definitiv nicht die Antwort :P)","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es wird verwendet, um ein ``-Element mit dem Attributnamen, das mit dem Zeichenfolgenwert übereinstimmt, als Ort für das Rendern von DocumentComponent festzulegen, wenn darauf zugegriffen wird.","comment":{"@type":"Comment","text":"Option C is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### In dieser Vorlagensyntax führt die ngFor-Strukturanweisung bei jeder Änderung der items-Eigenschaft (Hinzufügen, Entfernen usw.) ihre Logik für alle DOM-Elemente in der Schleife erneut aus. Welche Syntax kann verwendet werden, um dies effizienter zu machen?\n\n```html\n
{{ item.id }} - {{ item.name }}
\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is `*ngFor=\"let item of items; trackBy: trackById\"`"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"`*ngFor=\"let item of items; let uniqueItem\"`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"`*ngFor=\"let item of items.distinct()\"`","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"`*ngFor=\"let item of items: let i = index\"`","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"`*ngFor=\"let item of items; trackBy: trackById\"`","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Was macht dieses Angular-CLI-Kommando?\n\n```bash\nng build --configuration=production --progress=false\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Es erstellt die Angular-Anwendung, legt die Build-Konfiguration auf das im angular.json-Datei angegebene \"production\"-Ziel fest und verhindert die Fortschrittsausgabe auf der Konsole."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Es erstellt die Angular-Anwendung, legt die Build-Konfiguration auf das im angular.json-Datei angegebene \"production\"-Ziel fest und gibt den Fortschrittsausgabe auf der Konsole aus.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es erstellt die Angular-Anwendung, legt die Build-Konfiguration auf das im angular.json-Datei angegebene \"production\"-Ziel fest und überwacht Dateien auf Änderungen.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es erstellt die Angular-Anwendung, legt die Build-Konfiguration auf das im angular.json-Datei angegebene \"production\"-Ziel fest und deaktiviert das Überwachen von Dateien auf Änderungen.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":3,"encodingFormat":"text/markdown","text":"Es erstellt die Angular-Anwendung, legt die Build-Konfiguration auf das im angular.json-Datei angegebene \"production\"-Ziel fest und verhindert die Fortschrittsausgabe auf der Konsole.","comment":{"@type":"Comment","text":"Option D is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Können Servicetypen über welche Dekoratoren als Anbieter registriert werden?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Nur @Injectable."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"@Injectable, @NgModule, @Component und @Directive.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Nur @Injectable und @NgModule.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Nur @Service und @NgModule.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Nur @Injectable.","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Wofür wird der Input-Dekorator in dieser Komponentenklasse verwendet?\n\n```ts\n@Component({ selector:'app-product-name', ...\n})\nexport class ProductNameComponent { @Input() productName: string\n}\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Es bietet eine Möglichkeit, Werte an das productName-Feld zu binden, indem der Komponenten-Selektor verwendet wird."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Es wird einfach verwendet, um einen Kommentar vor einem Klassenfeld zur Dokumentation zu platzieren.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es generiert automatisch ein `html","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Es bietet eine Möglichkeit, Werte an das productName-Instanzfeld zu binden, ähnlich wie bei nativen DOM-Elementeigenschaftsbindungen.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Es bietet eine Möglichkeit, Werte an das productName-Feld zu binden, indem der Komponenten-Selektor verwendet wird.","comment":{"@type":"Comment","text":"Option B is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Welcher Routenwächter kann verwendet werden, um die Navigation zu einer Route zu vermitteln?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Alle diese Antworten."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"CanDeactivate.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"CanLoad.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"CanActivate.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Alle diese Antworten.","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"Wie kann der Injector konfiguriert werden, um ein vorhandenes Objekt für ein Token zu verwenden, anstatt eine Klasseninstanz zu instanziieren?","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Verwenden Sie die `useValue`-Anbieterkonfiguration und setzen Sie diese auf ein vorhandenes Objekt oder ein Objektliteral."},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Es ist nicht möglich. Anbieter können nur mit Klassen erstellt werden.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"Fügen Sie einfach die Objektinstanz oder das Objektliteral dem Array des Anbieters hinzu.","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"Verwenden Sie die `asValue`-Anbieterkonfigurationseigenschaft und setzen Sie sie auf true.","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"Verwenden Sie die `useValue`-Anbieterkonfiguration und setzen Sie diese auf ein vorhandenes Objekt oder ein Objektliteral.","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Basierend auf dieser Routendefinition, was kann dem Konstruktor von UserDetailComponent injiziert werden, um den id-Routenparameter zu erhalten?\n\n```ts\n{path: 'user/:id', component: UserDetailComponent }\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is ActivatedRoute"},"suggestedAnswer":[{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"CurrentRoute","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":1,"encodingFormat":"text/markdown","text":"UrlPath","comment":{"@type":"Comment","text":"It is wrong option."}},{"@type":"Answer","position":2,"encodingFormat":"text/markdown","text":"@Inject('id')","comment":{"@type":"Comment","text":"It is wrong option."}}],"acceptedAnswer":{"@type":"Answer","position":0,"encodingFormat":"text/markdown","text":"ActivatedRoute","comment":{"@type":"Comment","text":"Option A is correct"}}},{"@type":"Question","eduQuestionType":"Multiple choice","learningResourceType":"Practice problem","name":"Recall your knowledge of Angulato solve the questions","text":"#### Mit dem folgenden reaktiven Formularmarkup, was würden Sie hinzufügen, um einen Aufruf an eine onSubmit-Klassenmethode anzuschließen?\n\n```html\n\n```","encodingFormat":"text/markdown","comment":{"@type":"Comment","text":"Correct answer is Fügen Sie (ngSubmit)=\"onSubmit()\" dem `