2017-05-28 107 views
2

值按钮上单击事件ID和名字我有一个按钮如何获得离子2角2

<button ion-button icon-left name="0x10000011 (click)="AppService.sendNotify($event)" id="0x10000011" value=1> 
    <ion-icon name="camera"></ion-icon> 
    CAM Icon 
</button> 

当我点击它,我想获得id属性,我的服务sendNotify功能。

public sendNotify(data) { 
    var method = 'SCAN_BUTTON'; 
    var name = data.target.name; 
    var id = data.target.id; 
    var value = data.target.value - 0; 
    console.log("#$#$%$%^$%^#$%^#$%",method, name, value); 
} 

在这里,我没有得到的按钮idname。相反

#$#$%$%^$%^#$%^#$% SCAN_BUTTON undefined NaN. 

任何人都可以帮助我找到我的错误吗?

+0

为什么不把你的名字/ ID作为函数的参数? –

+0

检查我的答案 –

回答

3

您正在考虑将离子成分ion-button作为基本html button标记。

它实际上是一个角度分量。检查here

其内部HTML的样子:根据

<span class="button-inner"> 
    <ng-content></ng-content> 
</span> 
<div class="button-effect"></div> 

的按钮,你点击发送标签的ID和姓名与event.The点击区域可能是button标签span

您应该简单地将该值作为参数发送。

<button ion-button icon-left name="0x10000011" (click)="AppService.sendNotify($event,'0x10000011','0x10000011')" id="0x10000011" value=1> 
    <ion-icon name="camera"></ion-icon> 
    CAM Icon 
</button> 

A plunker to try

+0

感谢您的答案。这解决了我的问题 – ndh

1

您可以使用下面的代码

<button id="ar" name="some" (click)="clicked($event)"> CLICK ME </button> 


clicked(event){ 
    console.log(event.srcElement.id) 
    console.log(event.srcElement.name) 

    } 

LIVE DEMO

+0

我试图使用secElement,但我得到的结果与以前相同。是因为离子吗? – ndh

+0

你传递给方法的参数是'$ event'? – Aravind

+0

@Araving我在我的角2 Web应用程序中使用相同的代码,它在那里工作。那里的事件携带按钮id名称和值。它不工作离子应用程序。 – ndh

0

你的代码在总体上是好的获取值,我也建议使用,而不是srcElement目标。

在你的代码只是错过关闭name属性,尝试把它改成这样:

<button ion-button icon-left name="0x10000011" (click)="AppService.sendNotify($event)" id="0x10000011" value=1> 
    <ion-icon name="camera"></ion-icon> 
    CAM Icon 
</button> 

我希望这将解决您的问题。

+0

感谢您的快速回答。其我的错字,它不起作用 – ndh

+0

如果它仍然无法正常工作,可否请您提供一个Plunker? – mbppv

+0

我正在使用离子如何为此创建一个运动员? – ndh