如何在页面加载时完全初始化Angular2页面(ngOnInit)

时间:2016-05-05 11:27:24

标签: javascript html validation angular

我遇到这个特殊的问题,我无法找到在线解决方案。

我的代码大致如下:

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输出。

我不太清楚如何解决这个问题,如果需要,我很乐意发布更多代码。

这是一个记录在案的问题吗?

0 个答案:

没有答案