0 Tage Serie
javascript / expert
Snippet

Strikte Template-Typ-Prüfung mit ngTemplateContextGuard

Um volle Typsicherheit in Angular-Templates für Struktur-Direktiven zu erreichen, können Sie einen statischen Type-Guard verwenden. Dies teilt dem Angular Language Service die genaue Form des Kontext-Objekts mit und ermöglicht Autovervollständigung und Fehlerprüfung im HTML.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
interface UserContext<T> { $implicit: T; appRole: string; }
@Directive({ selector: '[appUserCard]' })
export class UserCardDirective<T> {
static ngTemplateContextGuard<T>(
dir: UserCardDirective<T>,
ctx: any
): ctx is UserContext<T> { return true; }
}
angular
Erklärung
1
static ngTemplateContextGuard
Ein spezielles statisches Mitglied, das vom Angular-Compiler für die Template-Typprüfung erkannt wird.
2
ctx is UserContext<T>
Ein TypeScript-Typprädikat, das den 'any'-Kontext auf ein spezifisches Interface einschränkt.