在 Angular 2 中,当我尝试使用双向绑定时 ngIF 不工作
In Angular 2, ngIF is not working when i am trying with two way binding
我正在使用具有双向绑定概念的 Angular2
[(ngModel)]
。我的页面有表单,我必须验证元素的原始状态。因此,为了验证,我使用了 ngIf
来检查元素的原始状态。但条件不工作。我需要检查每个模型更改的原始状态。下面是我的 app.component.html
页面:
<form (ngSubmit)="angular2form(myAngular2Form.employeeDob)" [ngFormModel]="myAngular2Form">
<input type="text" class="form-control" id="employee" name="employee" [(ngModel)]="employeeDob" required />
<div *ngIf="employeeDob.pristine">
<p>Please enter the date</p>
</div>
<button type="submit" class="btn btn-primary">Register</button>
</form>
这是我的组件:
export class AppComponent {
employeeDob: String;
constructor(private myform: FormBuilder) {
this.employeeDob = '';
}
angular2form(date) {
alert("date submitted successfully");
}
}
感谢任何建议
如果用户尚未与表单交互,则为 true。您可能想改为检查 dirty?您还可以使用 hidden
标签并替换
<div *ngIf="employeeDob.pristine">
与:
<div [hidden]="employeeDob.pristine">
pristine
是 Control
的 属性 而不是 value
.
您可能想使用
<input #employeeDobCtrl="ngForm" type="text" class="form-control" id="employee" name="employee" [(ngModel)]="employeeDob" required />
<div *ngIf="employeeDobCtrl.pristine">
(旧表单模块)
<输入类型="text"class="form-control"id="employee"name="employee"[(ngModel)]= "employeeDob" #date="ngModel" 必填 /><br>
<div [隐藏]="date.valid || date.pristine">
<p>请输入日期</p>
</div>
直接输出文档
我正在使用具有双向绑定概念的 Angular2
[(ngModel)]
。我的页面有表单,我必须验证元素的原始状态。因此,为了验证,我使用了 ngIf
来检查元素的原始状态。但条件不工作。我需要检查每个模型更改的原始状态。下面是我的 app.component.html
页面:
<form (ngSubmit)="angular2form(myAngular2Form.employeeDob)" [ngFormModel]="myAngular2Form">
<input type="text" class="form-control" id="employee" name="employee" [(ngModel)]="employeeDob" required />
<div *ngIf="employeeDob.pristine">
<p>Please enter the date</p>
</div>
<button type="submit" class="btn btn-primary">Register</button>
</form>
这是我的组件:
export class AppComponent {
employeeDob: String;
constructor(private myform: FormBuilder) {
this.employeeDob = '';
}
angular2form(date) {
alert("date submitted successfully");
}
}
感谢任何建议
如果用户尚未与表单交互,则为 true。您可能想改为检查 dirty?您还可以使用 hidden
标签并替换
<div *ngIf="employeeDob.pristine">
与:
<div [hidden]="employeeDob.pristine">
pristine
是 Control
的 属性 而不是 value
.
您可能想使用
<input #employeeDobCtrl="ngForm" type="text" class="form-control" id="employee" name="employee" [(ngModel)]="employeeDob" required />
<div *ngIf="employeeDobCtrl.pristine">
(旧表单模块)
<输入类型="text"class="form-control"id="employee"name="employee"[(ngModel)]= "employeeDob" #date="ngModel" 必填 /><br>
<div [隐藏]="date.valid || date.pristine">
<p>请输入日期</p>
</div>
直接输出文档