#javascript #html #css #angular
#javascript #HTML #css #angular
Вопрос:
Я пытаюсь добавить модал из bootstrap в свой код и использую Angular2 (ровно 6) для интерфейсной части. Проблема в том, что кнопка, которую я использую для вызова модала, находится в другом компоненте, отличном от самого модала, поэтому она работает не так, как ожидалось.
В одном компоненте, в боковой панели, у меня есть эти строки кода:
<li *ngIf="!userService.mainUser" data-toggle="modal" data-target="#login" style="cursor: pointer">
<a>
<i class="mdi mdi-login"></i>
<span class="hide-menu">Se connecter</span>
</a>
</li>
Как вы можете видеть, у меня есть data-toggle="modal"
и data-target="#login"
в моем <li>
, чтобы открывать мой модальный файл при нажатии.
Проблема в том, что мой модальный код находится в другом компоненте, входном:
<div id="login" class="modal fade" role="dialog">
<div class="modal-dialog modal-dialog-centered">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-title">
<h1 style="margin-left: 15px">Se connecter</h1>
</div>
<div class="modal-body">
<div class="form-group">
<label class="form-control-label">Nom d'utilisateur</label>
<input name="username" class="form-control" placeholder="Nom d'utilisateur">
</div>
<div class="form-group">
<label class="form-control-label">Mot de passe</label>
<input name="password" class="form-control" placeholder="Mot de passe">
</div>
<div>
<input style="display: inline" type="checkbox">
<label style="margin-left: 10px"> Rester connecté ?</label>
</div>
<button (click)="logIn()" [ngStyle]="{'background': appFade, 'color': getTextColor()}">Se connecter</button>
</div>
</div>
</div>
</div>
Итак, когда я нажимаю на кнопку «Se connecter», она не открывает мой модальный, и я не знаю, как заставить это работать.
Я надеюсь, что мой вопрос понятен и что вы сможете мне помочь. Спасибо!
Ответ №1:
Вам нужно добавить селектор компонента в html, где находится ваша кнопка
<li *ngIf="!userService.mainUser" data-toggle="modal" data-target="#login" style="cursor: pointer">
<a>
<i class="mdi mdi-login"></i>
<span class="hide-menu">Se connecter</span>
</a>
</li>
<app-login-modal></app-login-modal>//this should coincide with the name modals selector name in your typescript file