2017-02-02 1 views
0

In meiner Angular 2-App verwende ich md-menu und md-icon-button, um ein Pop-up mit einer E-Mail-Adresse anzuzeigen. Ich möchte, dass die E-Mail-Adresse, die angezeigt wird, tatsächlich die Standard-E-Mail-Einrichtung des Benutzers auslöst, wenn darauf geklickt wird. Da ich Daten per String-Interpolation einlese, müssen diese E-Mails auch mit String-Interpolation generiert werden. Das ist, was ich habe jetzt:E-Mail-Links mit String-Interpolation in Angular erzeugen 2

<md-menu #emailMenu="mdMenu"> 
<button md-menu-item>{{record.email}}</button> 
</md-menu> 

<button md-icon-button [mdMenuTriggerFor]="emailMenu"> 
<md-icon>mail_outline</md-icon> 
</button> 

Wo sehen Sie {{record.email}}, das ist, wo ich dies strukturieren müssen, so dass ein Standard-E-Mail-Verhalten ausgelöst wird (im Grunde wie ein mailto: Funktion). Wie mache ich das in Angular 2?

Würde ich so etwas tun?

<button md-menu-item><a href="mailto:{{record.email}}"></a></button> 

Oder gibt es einen besseren Weg, es zu tun?

Antwort

3

Sie auf die Eigenschaft href binden können:

<a [href]="'mailto:' + record.email"></a>

+0

mit String-Interpolation verwenden, führt dies auf einen Fehler: Muirik

+0

Ja, Sie tun, um die Interpolation Klammern nicht brauchen {{..}} hier Da Sie einen Ausdruck an die [href] -Eigenschaft –

+0

binden, musste ich aus irgendeinem Grund ein: focus {outline: 0;} in meinem NgDialog hinzufügen, sonst hätte es immer einen blauen Umriss. –