2017-05-28 2 views
2

Ich habe eine SchaltflächeWie id und name Wert von Taste auf Click-Ereignis in ionischer 2 Winkel 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> 

Wenn ich auf sie erhalten, möchte ich in meinem Dienst sendNotify Funktion id Attribut erhalten.

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); 
} 

Hier habe ich immer bin nicht auf die Schaltfläche id und name. Stattdessen

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

Kann jemand mir helfen, meinen Fehler zu finden?

+0

warum nicht nur Ihren Namen/ID als Parameter der Funktion senden? –

+0

Überprüfen Sie meine Antwort –

Antwort

3

Sie erwägen eine ionische Komponente ion-button, um ein grundlegendes html button Tag zu sein.

Es ist eigentlich eine eckige Komponente. Überprüfen Sie here.

Seine inneren html wie folgt aussehen:

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

auf je nachdem, wo in der Schaltfläche Du klicken Sie die Tag-ID und den Namen mit dem Bereich event.The Klick könnte button Tag oderspan senden.

Sie sollten einfach den Wert als Parameter senden.

<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

Danke für die Antwort. Das löst mein Problem – ndh

1

Sie die Werte erhalten können den Code unten mit

<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

Ich habe versucht, secElement zu verwenden, aber ich bekomme das gleiche Ergebnis wie zuvor. Liegt es an Ionic? – ndh

+0

Was leiten Sie als Parameter $ Event an die Methode weiter? – Aravind

+0

@Araving den gleichen Code verwende ich in meiner eckigen 2 Web-App und es funktioniert dort. Dort trägt das Ereignis button id name und value. es funktioniert nicht Gin ionic app. – ndh

0

Ihr Code sieht im Allgemeinen gut, schlage ich vor, auch das Ziel anstelle des srcElement zu verwenden.

In Ihrem Code Sie vermissen nur den Namen Attribut zu schließen, versuchen Sie es zu, dies zu ändern:

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

Ich hoffe, das Ihr Problem zu beheben.

+0

verwenden Vielen Dank für Ihre schnelle Antwort. es ist mein Tippfehler und es funktioniert nicht – ndh

+0

Wenn es immer noch nicht funktioniert, können Sie bitte einen Plunker zur Verfügung stellen? – mbppv

+0

Ich benutze ion, wie kann ich einen Plünderer dafür schaffen? – ndh