Я внедряю страницу входа с Угловыми реактивными формами. Кнопка «login» отключена, если форма недействительна.Угловая 2 и автозаполнение браузера
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
@Component({
selector: 'signin',
templateUrl: './signin.component.html'
})
export class SignInComponent implements OnInit {
private signInForm: FormGroup;
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
this.buildForm();
}
private buildForm(): void {
this.signInForm = this.formBuilder.group({
userName: ['', [Validators.required, Validators.maxLength(50)]],
password: ['', [Validators.required, Validators.maxLength(50)]]
});
this.signInForm.valueChanges
.subscribe((data: any) => this.onValueChanged(data));
this.onValueChanged();
}
private onValueChanged(data?: any) {
console.log(data);
}
Так что, когда я запускаю его в браузере, я заполняемых полей «Username» и «пароли». И в консоли у меня есть значения '{имя_пользователя: "[email protected]", пароль: ""}', и в результате кнопка «login» отключена. Но если я щелкнул где-нибудь на странице, то он запустил onValueChanged, и я вижу '{имя_пользователя: "[email protected]", пароль: "123456"}', а кнопка "login" включена.
Если я иду в режиме инкогнито. У меня нет предварительно заполненных полей (они пусты), но когда я заполняю (выбираю) значения, то в консоли я вижу '{имя_пользователя: "[email protected]", пароль: "123456"}', а кнопка " login "включен без дополнительного клика.
Может быть, это разные события? Автозаполнение и автозаполнение? А угловые работы с ними по-разному?
Каков наилучший способ его решения? И почему onValueChanged Функция выполняется только один раз, когда поля автозаполнения браузера?
Несчастливо автозаполнение пароля не работает. Пробовал все 3 возможных значения: 'autocomplete =" none | false | no "' – Denish