Я получаю эту ошибку
main.d6f3e40c71733c3e7aa5.js:1 ERROR Error: Cannot find control with name: 'email'
Только на chrome. Форма находится внутри диалогового окна angular. Я использую внедренный глобальный сервис для инициализации формы, поэтому, прежде чем я нажму кнопку, открывающую модальное окно, форма внутри сервиса уже инициализирована, и если я утешаю ее, я вижу там элемент управления.
Когда я открываю диалоговое окно, оно использует сервис для получения полей следующим образом:
<div [formGroup]="loginService.loginForm" class="registration-type-form-container login-form">
<div
*ngIf="loginService.loginForm.invalid && (loginService.loginForm.dirty || loginService.loginForm.touched) && loginService.loginForm.errors && loginService.loginForm.errors.incorrect"
class="incorrect-email">
{{'login.validation.email-or-pass'|translate}}
</div>
<div class="form-container" fxLayout="column" fxLayoutAlign="center stretch" fxLayoutGap="5px">
<div class="e-mail form-input-container" fxFlex="">
<input [placeholder]="'login.email' | translate" autocomplete="off"
class="email-address form-input" formControlName="email"
id="email" required="required">
<div *ngIf="email.invalid && (email.dirty || email.touched)" class="requirements"
id="login-email">
<div *ngIf="email.errors.required">
{{'login.validation.email.required' | translate}}
</div>
<div *ngIf="email.errors.email">
{{'login.validation.email.email' | translate}}
</div>
</div>
</div>
</div>
Вход
<input [placeholder]="'login.email' | translate" autocomplete="off"
class="email-address form-input" formControlName="email"
- это тот, который выдает ошибку.
Если я закрою диалоговое окно и снова открою его, он не выдаст ошибку снова. Это происходит только в первый раз. И, как я сказал, это происходит только в chrome. Я тестировал в firefox, и он работает нормально. id = "email" обязательно = "обязательно">