* ngIf und lokale Vorlagenvariablen

Kann jemand erklären, was hinter dem folgenden Verhalten steckt?

Sagen wir, wir haben eine Angular 2-Komponente, die ein @ h_model Objekt. Dann haben wir in der Vorlage folgendes:

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

Das_model ist von Anfang an verfügbar und wird in @ von Grund auf neu erstellngOnInit(). Das Eingabefeld ist korrekt mit dem @ gefüll_model.firstName Variable und die Zeile:

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

rendert das Folgende korrekt in der Vorlage:

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

So weit, ist es gut. Was mich verwirrt ist, dass in dem Moment, in dem ich @ hinzufü*ngIf und ich ändere das Eingabefeld auf

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

Die Interpolation mit doppelten geschweiften Klammern funktioniert nicht mehr, da anscheinend die lokalemyInputie Variable @ wird auch dann nicht initialisiert, wenn sich ansonsten nichts im Code änder_model object wird noch in @ erstelonNgInit() und das Eingabefeld funktioniert immer noch einwandfrei. Das einzige, was das{{myInput?.className}} renders ist

Class:

Kann jemand erklären, was los ist und / oder mich auf die richtige Dokumentation dazu hinweisen?

BEARBEITEN

Hier ist ein Plunker das zeigt das fragliche Problem.

Created Bug Reporthttps: //github.com/angular/angular/issues/808

Antworten auf die Frage(2)

Ihre Antwort auf die Frage