我遇到这个特殊的问题,我无法找到在线解决方案。
我的代码大致如下:
export class SRegister {
http: Http;
email: Control;
password: Control;
sregister: ControlGroup;
constructor(http: Http, private router: Router, private builder: FormBuilder) {
this.http = http;
this.router = router;
this.email = new Control('', Validators.required);
this.password = new Control('', Validators.required);
this.sregister = builder.group({
email: this.email,
password: this.password
});
}
ngOnInit() {
console.log(document.getElementById("sreg_email"));
}
这是我的HTML代码的一部分:
<span class="input_wrapper">
<label for="sreg_email">Email:</label>
<input class="input_field" type="text" id="sreg_email" autofocus="autofocus" ngControl="email" />
<div *ngIf="email.dirty && !email.valid" class="errors_wrapper">
Email invalid.
</div>
</span>
一切正常,如果我输入内容,消息就会消失,当我删除它时会回来。
唯一的问题是,每当我最初加载页面或通过路由访问此页面时,我在页面上任何文本框中输入的第一个字母都会被取消 - 似乎没有任何结果。之后,如果我检查控制台,我会注意到ngOnInit
已经运行 - 我收到了console.log
输出。
我不太清楚如何解决这个问题,如果需要,我很乐意发布更多代码。
这是一个记录在案的问题吗?