[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report <!-- Please search GitHub for a similar issue or PR before submitting -->
[X] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question
ΠΠΎΠ³Π΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Typescript strictNullChecks
Π²ΠΊΠ»ΡΡΠ΅Π½, @angular/language-service Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠΈΠΌΠ΅Ρ:
interface Foo {
bar: string;
}
@Component({
selector: 'app-foo',
templateUrl: './foo.component.html'
})
export class FooComponent {
foo?: Foo;
}
ΠΡΠΈΠΌΠ΅Ρ 1:
<app-foo *ngIf="foo" [bar]="foo.bar"></app-foo>
ΠΡΠΈΠΌΠ΅Ρ 2:
<div *ngIf="foo">{{ foo.bar }}</div>
Error: ng: The expression might be null
Π― ΠΎΠΆΠΈΠ΄Π°Ρ, ΡΡΠΎ *ngIf
ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΌΠΎΠ³Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ.
Angular version: 5.2.2
- Node version: 8.9.1
- Platform: MacOS
- Typescript 2.6.2
Π― Π±Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π» ΡΡΠΎ ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΡ, Π° Π½Π΅ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π―Π·ΡΠΊΠΎΠ²Π°Ρ ΡΠ»ΡΠΆΠ±Π° Π½Π΅ΠΏΡΠΈΠ³ΠΎΠ΄Π½Π° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ strictNullChecks.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π― Π±Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π» ΡΡΠΎ ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΡ, Π° Π½Π΅ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π―Π·ΡΠΊΠΎΠ²Π°Ρ ΡΠ»ΡΠΆΠ±Π° Π½Π΅ΠΏΡΠΈΠ³ΠΎΠ΄Π½Π° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ strictNullChecks.