40039d8068
When the `NgIf` directive is used in a template, its context variables can be used to capture the bound value. This is typically used together with a pipe or function call, where the resulting value is captured in a context variable. There's two syntax forms available: 1. Binding to `NgIfContext.ngIf` using the `as` syntax: ```html <span *ngIf="(user$ | async) as user">{{user.name}}</span> ``` 2. Binding to `NgIfContext.$implicit` using the `let` syntax: ```html <span *ngIf="user$ | async; let user">{{user.name}}</span> ``` Because of the semantics of `ngIf`, it is known that the captured context variable is non-nullable, however the template type checker would not consider them as such and still report errors when `strictNullTypes` is enabled. This commit updates `NgIf`'s context guard to make the types of the context variables non-nullable, avoiding the issue. Fixes #34572 PR Close #35125 |
||
---|---|---|
.. | ||
compliance | ||
diagnostics | ||
helpers | ||
metadata | ||
ngtsc | ||
transformers | ||
BUILD.bazel | ||
extract_i18n_spec.ts | ||
mocks.ts | ||
ngc_spec.ts | ||
perform_compile_spec.ts | ||
perform_watch_spec.ts | ||
test_support.ts | ||
typescript_support_spec.ts |