feat(compiler): allow ngIf to use the ngIf expression directly as a guard

Allows a directive to use the expression passed directly to a property
as a guard instead of filtering the type through a type expression.

This more accurately matches the intent of the ngIf usage of its template
enabling better type inference.

Moved NgIf to using this type of guard instead of a function guard.

Closes: #20967
This commit is contained in:
Chuck Jazdzewski
2017-12-12 14:20:12 -08:00
committed by Alex Rickabaugh
parent e48f477477
commit 82bcd83566
6 changed files with 330 additions and 10 deletions

View File

@ -152,7 +152,8 @@ export class NgIf {
}
}
public static ngIfTypeGuard: <T>(v: T|null|undefined|false) => v is T;
/** @internal */
public static ngIfUseIfTypeGuard: void;
}
/**