Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 如何在angular 8中获取元素引用名称_Typescript_Angular5_Angular7_Angular8 - Fatal编程技术网

Typescript 如何在angular 8中获取元素引用名称

Typescript 如何在angular 8中获取元素引用名称,typescript,angular5,angular7,angular8,Typescript,Angular5,Angular7,Angular8,试图获取元素引用名称,但不起作用。如果有人知道,请帮助找到解决方案 警报应该类似于容器。因为这是元素引用 app.component.html: <div (click)="test(event)" #container></div> 如他在评论中所述,在div元素中使用$event而不是event <div (click)="test($event)" #container></div> 但是请注意,div元素中的#container是一个角

试图获取元素引用名称,但不起作用。如果有人知道,请帮助找到解决方案

警报应该类似于容器。因为这是元素引用

app.component.html:

<div (click)="test(event)" #container></div>
如他在评论中所述,在
div
元素中使用
$event
而不是
event

<div (click)="test($event)" #container></div>
但是请注意,
div
元素中的
#container
是一个角度模板引用 通常与装饰器一起使用的变量


如果您想获得事件数据,您必须正确地传递它
(单击)=“test($event)”
而不是
test(event)
,但在这种情况下,我们没有
elementRef
@Nila Vaani:它与问题中发布的本机HTML
div
元素一起工作。然而,在StackBlitz中,您试图使其与自定义组件一起工作。因此,您需要一种不同的方法。也许您可以简单地将选项卡名称传递给
test
方法。请告诉我们有关您的特定用例的更多信息。我想获取所选选项卡的元素引用名称。如何获取它?在StackBlitz中:在
测试
方法中,删除当前代码并添加
控制台.log(event.data.title)
。是的..我们可以获取标题和id,但是否可以获取模板元素引用名称?@Nila Vaani:我认为这是不可能的。Angular在编译时使用它,而不是保存在DOM中。
<div (click)="test($event)" #container></div>
test(event: MouseEvent): void {
   const htmlElement = event.target || event.srcElement || event.currentTarget;;
   ...
}