ngModel如何访问错误属性 in angular?
How ngModel access error property in angular?
我在 angular 中有以下表格:
<form (ngSubmit)="createStock(stockForm)" #stockForm="ngForm">
<div class="stock-name">
<input type="text"
placeholder="Stock Name"
required
name="stockName"
#stockName="ngModel"
[(ngModel)]="stock.name">
</div>
<div *ngIf="stockName.errors && stockName.errors.required">
Stock Name is Mandatory
</div>
如您所愿,我正在创建一个模板引用变量 (stockName) 并将 ngModel 分配给它。稍后我使用该模板引用变量来检查错误。上面的代码工作正常,但我无法理解为什么在 NgModel class.
中不存在名为 "errors" 的 属性 时它工作正常
My only question is why stockName.errors is working when there is no such errors property exist in the NgModel directive
有一个 errors
属性 类型 ValidationErrors
on NgModel
as NgModel
inherits from NgControl
which inherits from AbstractControlDirective
而这个 属性。
angular API documentation 写得很好并且易于浏览。当我不确定某个类型是否具有我需要使用的受支持成员时,我经常发现自己在使用它。
我想我找到了问题的答案:
NgModel 扩展了 NgControl 并且 NgControl 扩展了 AbstractControlDirective.
AbstractControlDirective 使错误 属性 可用于 NgModel。
当我们尝试访问 ngModel.errors 时,它在内部访问 FormControl(由 ngmodel 创建)上定义的 属性 为:
this.control.errors
总之ngModel.errors是语法糖
我在 angular 中有以下表格:
<form (ngSubmit)="createStock(stockForm)" #stockForm="ngForm">
<div class="stock-name">
<input type="text"
placeholder="Stock Name"
required
name="stockName"
#stockName="ngModel"
[(ngModel)]="stock.name">
</div>
<div *ngIf="stockName.errors && stockName.errors.required">
Stock Name is Mandatory
</div>
如您所愿,我正在创建一个模板引用变量 (stockName) 并将 ngModel 分配给它。稍后我使用该模板引用变量来检查错误。上面的代码工作正常,但我无法理解为什么在 NgModel class.
中不存在名为 "errors" 的 属性 时它工作正常My only question is why stockName.errors is working when there is no such errors property exist in the NgModel directive
有一个 errors
属性 类型 ValidationErrors
on NgModel
as NgModel
inherits from NgControl
which inherits from AbstractControlDirective
而这个 属性。
angular API documentation 写得很好并且易于浏览。当我不确定某个类型是否具有我需要使用的受支持成员时,我经常发现自己在使用它。
我想我找到了问题的答案:
NgModel 扩展了 NgControl 并且 NgControl 扩展了 AbstractControlDirective.
AbstractControlDirective 使错误 属性 可用于 NgModel。
当我们尝试访问 ngModel.errors 时,它在内部访问 FormControl(由 ngmodel 创建)上定义的 属性 为:
this.control.errors
总之ngModel.errors是语法糖