Angular2 - 单击事件:获取单击元素的ID

时间:2016-06-15 09:06:10

标签: angular click primeng

我对图表(primeng)有一个概述,现在我需要知道是否可以在点击时从图表中获取ID。

仅供参考我有一个上下文菜单,其中包含"在新标签中打开"我需要从图表中开启上下文菜单的ID。

Rightclick - >来自图表的getID - >使用ID打开新选项卡,仅显示该图表。

我看过像event.target.attributes.id /event.currenttarget这样的东西,但那是js,对吧?我正在使用Typescript。

所以问题实际上就是这么简单:我怎么能这样做?

我是与编程有关的所有内容的新手,几周前我已经开始了,所以请耐心等待,因为我可能无法像其他人那样快速地理解所有内容。

编辑:

上下文菜单的MenuItems:

this.ctitems = [
    {
        label: 'Öffnen(neuer Tab)',
        icon: 'fa-plus',
        command: (onClick) => {this.function()}                
    },
    {
        label: 'Öffnen(dieser Tab)',
        icon: 'fa-hand-o-down'

    }
]; 

获取id的函数

function() { event.target.getID <- problem }

只要我有ID,我就想将ID指定的项目推送到TabMenu中显示的项目数组中。但那就是未来。现在我只需要获取ID。

html:

<p-chart height="100" width="100" class="ui-g-2 " type="line" id="linechart" [data]="ntwdata"></p-chart>
<p-contextMenu id="cm" [model]="ctitems"></p-contextMenu>

1 个答案:

答案 0 :(得分:5)

您未将event变量传递给您的函数,因此您无法使用它。

像这样定义你的命令,然后它应该工作:

this.ctitems = [
    {
        label: 'Öffnen(neuer Tab)',
        icon: 'fa-plus',
        command: (event) => onClick(event)                
    },
    {
        label: 'Öffnen(dieser Tab)',
        icon: 'fa-hand-o-down'

    }
];

[...]

onClick(event) {
    let target = event.target || event.srcElement || event.currentTarget;
    let idAttr = target.attributes.id;
    let id = idAttr.nodeValue;
    console.log(id);
}