ngModelChange

Вероятно это задокументированное поведение, но я не встречал упоминаний об этом.

ngModelChange срабатывает при изменениях привязанной модели, однако заметил такую фичу:

// component
validateEmail(email) {
    this.email_is_valid = /\w+\@\w+\.\w+/.test(email);
}
// view
<input type="text" (ngModelChange)="validateEmail(user.email)" [(ngModel)]="user.email" />
<button [ngClass]="{'disabled' : !email_is_valid}">

При таком раскладе validateEmail вызывается до фактических изменений (т.е. принимает предыдущее состояние объекта user), если же переместить (ngModelChange) после биндинга модели, событие будет работать как ожидается.

Комментарии

comments powered by Disqus
Яндекс.Метрика