Я пытаюсь составить таблицу, которая покажет места в городе. Я использую * ngFor l oop для отображения мест (строки таблицы). После нажатия на строку таблицы должно появиться модальное окно с дополнительной информацией. Я использую ng- bootstrap и загружаю информацию о местах проведения мероприятия json.
Мой вопрос к вам - каков наилучший способ (и как реализовать) создания модального окна для каждого из место проведения (строка таблицы). Я попытался поместить modalWindow в ng-контейнер и назначить ему уникальный идентификатор, но это не сработало, потому что я могу передать функции ng- bootstrap .open () только TemplateRef или Component.
Таким образом, помимо решения выше, у меня есть идея, как это сделать. Я думаю, что лучшим способом было бы создать шаблон модального окна (чтобы избежать создания почти одного и того же модального окна 100 раз), а затем передать ему значения (имя, описание и т. Д. c.) Динамически относительно места проведения. , что пользователь нажал на. Но я действительно не знаю, как это реализовать.
Прямо сейчас у меня есть этот кусок кода, который генерирует строки таблицы:
<ng-container *ngFor="let venue of venues">
<tr>
<td>{{ venue.title }}</td>
<td>{{ venue.location.city | titlecase }}</td>
<td>{{ venue.location.zipcode }}</td>
<td>{{ venue.location.adress }}</td>
<td>{{ venue.dates.startdate }}</td>
<td><button class="btn btn-outline-dark" (click)="modalService.open();">Details</button></td>
</tr>
</ng-container>
и этот пример модального окна, что я хочу отобразить. Обратите внимание, что значения внутри модального окна должны варьироваться в зависимости от места, по которому щелкнули. Код для образца модального окна:
<div class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">{{ venue.title }}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>{{venue.description}}</p>
</div>
</div>
</div>
</div>
Не могли бы вы мне помочь, как правильно сделать модальное windows для каждого места? Спасибо! :)