角度4错误类型错误:无法读取未定义的属性“脏”

Ton*_*ony 5 angular

我是角度新手,我遇到了这样的问题:

当我在元素中放入 ngIf 时,

 <input type="text" *ngIf="true" id="name" name="name" class="form-control" required [(ngModel)]="name" #name="ngModel" />
aaaaaa {{name.dirty}}
Run Code Online (Sandbox Code Playgroud)

我有

ERROR TypeError: Cannot read property 'dirty' of undefined
at Object.eval [as updateRenderer] (PrepareInvestmentComponent.html:1)
at Object.debugUpdateRenderer [as updateRenderer] (core.es5.js:13105)
at checkAndUpdateView (core.es5.js:12256)
at callViewAction (core.es5.js:12599)
at execComponentViewsAction (core.es5.js:12531)
at checkAndUpdateView (core.es5.js:12257)
at callViewAction (core.es5.js:12599)
at execEmbeddedViewsAction (core.es5.js:12557)
at checkAndUpdateView (core.es5.js:12252)
at callViewAction (core.es5.js:12599)
Run Code Online (Sandbox Code Playgroud)

但是,当我删除 ngIf 时,它工作正常。我可以知道原因以及解决此问题的任何迹象吗?

Elm*_*tas 1

看来 Angular 不允许您使用引用变量 + *ngIf...解决方案是使用ng-container或仅使用div

像这样: https://stackblitz.com/edit/angular-48763586-rsrtsa ?file=app/app.component.html

有一个未解决的问题似乎与您的情况相关:https://github.com/angular/angular/issues/13974