这是我的标记:
<form (ngSubmit)="onSubmit()">
<label>Cat Name</label>
<input required #name="ngModel" [(ngModel)]="model.catName" name="catName" />
<br>
<div [hidden]="catName.valid || catName.pristine" class="alert alert-danger">Cat Name Required</div>
</form>
由于某些原因,div始终可见。
使用chrome的检查器,我可以看到在页面首次加载时,输入已应用了“ ng-pristine”,并且如果我输入一个值,它也会得到“ ng-valid”。
由于某种原因,div始终可见。我尝试通过添加一个单击事件来调试它,该事件检查了catName并发现valid
和pristine
都是undefined
。
我将其基于有角度的2表格教程。
如果我将[hidden]更改为,true || catName.valid || catName.pristine
那么它确实会隐藏,因此它正在评估内容,只是无法正常工作。
没有控制台错误。
控件的状态可以通过ngModel知道。
因此,为了获取有关控件的状态信息,您必须处理将ngModel关联到的变量。
<input required #name="ngModel" [(ngModel)]="model.catName" name="catName" />
这将仅给出与名称变量关联的控制状态。
要使用catName,您可能应该在行上方更改为,
<input required #catName="ngModel" [(ngModel)]="model.catName" name="catName" />
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句