Пересекая многие существующие вопросы, связанные с моим вопросом, я выкладываю это. Так что не комментируйте это как дубликат и отправляйте повторяющиеся ответы, мой сценарий немного отличается. Все решения связаны с Javascript или JQuery. Но я хочу в Angular.
Я использую mdBootstrap , предоставляя только ссылку CDN в index.html, но не устанавливаю ее. У меня есть всплывающее окно с вкладками для входа и регистрации. Проблема заключается в том, что после ввода учетных данных и щелчка по имени входа модальное имя не закрывается (я не хочу указывать data-dismiss = "modal"), поскольку оно закрывает модальное состояние без выполнения функции входа в систему. Я хочу, чтобы обе функции были выполнены, проверка учетных данных, если она недействительна, я хочу, чтобы модал был в открытом состоянии, говоря сообщение об ошибке. Если он действителен, то закрывается только модал.
Во-вторых, я хочу сбросить модальные значения формы, даже когда я щелкаю в любом месте за пределами модального и снова открываю модальное. Например, если у меня есть два поля ввода, такие как имя пользователя и пароль, я ввел только имя пользователя, оставив пароль пустым, щелкнул снаружи и снова открыл модал, мой модал открылся с введенным значением имени пользователя. Я хочу избавиться от этих проблем.
Кто-нибудь поможет мне решить эти проблемы. Заранее спасибо.
Log-Reg.component.html
<div class="modal fade" id="modalLoginRegisterForm" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
//tabs for login & Register
<div class="tab-content py-0">
<div class="tab-pane fade in show active" id="modalLoginTab" role="tabpanel">
<form #loginForm="ngForm">
<div class="md-form">
<input required [(ngModel)]="username" type="email" id="loginEmail" name="Username" class="form-control validate">
<label for="loginEmail">Enter your email address</label>
</div>
<div class="md-form">
<input required [(ngModel)]="password" type="password" id="loginPassword" name="Password" class="form-control validate">
<label for="loginPassword">Enter your password</label>
</div>
<div *ngIf="isLoginError" class="alert alert-danger">Incorrect Credentials</div>
<button type="button" [disabled]=!loginForm.valid class="btn btn-primary" (click)="onLogin()">Login</button>
</form>
</div>
//Form for Register
</div>
</div>
</div>
</div>
</div>
Log-Reg.component.ts
@ViewChild('loginForm') public userLoginForm : NgForm;
onLogin(){
//some function for login validation\
this.userLoginForm.reset();
}