【发布时间】:2018-09-07 15:30:33
【问题描述】:
Angular 新手,我需要在模式弹出窗口中打开详细视图。除了下面问题的答案之外,我在这个主题上没有找到太多的东西,因此这可能是一个简单的问题,我只是在看。我没有使用 ngxBootstrap。
问题:Load self in modal - Angular component
我已使用此处找到的技术将我们的仪表板 (sar-dashboard) 配置为在用户单击子组件 (sar-list) 中的元素时显示模式:http://www.agiratech.com/angular-typescript-modal-window/
并使用如下所示的 EventEmitter:https://angular.io/guide/component-interaction#parent-listens-for-child-event
我已经在仪表板 HTML 中声明了模式,并将事件包含在子组件(sar-list)的选择器中
<app-sar-list (openModal)="openModal($event)"></app-sar-list>
...<div class="backdrop" [ngStyle]="{'display':display}"></div>
<div class="modal" tabindex="-1" role="dialog" [ngStyle]="{'display':display}">
子(sar-list)声明输出事件
@Output() openModal = new EventEmitter<number>();
并且父级(sar-dashboard)捕获它以设置 display: 块,因此模态将显示。这一切都很好
openModal(id: number) { this.display = 'block'; }
我现在需要的是获取注入的“id: number”,这样我就可以调用服务并根据 id 加载详细信息。我创建了一个新组件(sar-quickview)并将选择器添加到模式中,但是它在单击事件之前首先呈现,因此没有加载任何数据。
<div class="modal-body"><app-sar-quickview [id]="sarId"></app-sar-quickview></div>
如何根据用户选择使模态显示可见后从数据库中加载详细信息?
注意:这是我的第一篇文章,所以我还在学习格式。
【问题讨论】:
标签: angular modal-dialog