我正在尝试为表格单元格创建自定义弹出窗口,以便在单击它时以类似于mdBoostrap popovers的方式显示单元格的详细信息。
目前,我有以下应用:https://stackblitz.com/edit/angular-m5rx6j
Popup组件显示在主要组件下面,但是我想在表格上显示它,就在我单击的元素下面。
我想我需要执行以下操作:
要获取元素的引用,可以使用模板标识符:#this_element
。
您可以直接使用组件模板中的值,或从@ViewChild
/ @ViewChildren
中获取Typescript变量。
例如,在您的代码中:
<td #this_element>
<div (click)="open(this_element)">Overlay Host1</div>
</td>
并且您的open
函数现在将读取open(element: any)
,其中element
的类型取决于您放置#this_element
的位置。
而且您也可以通过以下方式在组件代码中保留此元素:
@ViewChild('this_element', { static: true }) element;
但是,如果您需要访问Angular docs,则nativeElement
中会有一些警告,因此请注意,如果您在Web Worker中运行。在这种情况下,您可能想使用Renderer2
。