* ngIf y variables de plantilla local

¿Podría alguien explicarme qué hay detrás del siguiente comportamiento?

Digamos que tenemos un componente Angular 2 que tiene un_model objeto. Luego en la plantilla tenemos esto:

<form>
    <input type="text" class="form-control" required [(ngModel)]="_model.firstName" ngControl="test2"  #myInput >
    <br>Class: {{myInput?.className}}
</form>

los_model está disponible desde el principio siendo creado desde cero enngOnInit(). El campo de entrada se rellena correctamente con el_model.firstName variable y la línea:

<br>Class: {{myInput?.className}}

representa correctamente lo siguiente en la plantilla:

Class: form-control ng-untouched ng-pristine ng-invalid.

Hasta aquí todo bien. Lo que me confunde es que en el momento en que agrego*ngIf y cambio el campo de entrada a

<input *ngIf="_model" type="text" class="form-control" required [(ngModel)]="_model.firstName" ngControl="test2"  #myInput >

La interpolación de llaves dobles deja de funcionar porque aparentemente el localmyInput la variable no se inicializa incluso cuando nada más en el código cambia, el_model object todavía se crea enonNgInit() y el campo de entrada sigue funcionando correctamente. Lo único que el{{myInput?.className}} representa es

Class:

¿Alguien puede explicar lo que está sucediendo y / o indicarme la documentación correcta para esto?

EDITAR:

Aquí está unSaqueador eso muestra el problema en cuestión.

Informe de error creadohttps://github.com/angular/angular/issues/8087

Respuestas a la pregunta(1)

Su respuesta a la pregunta