2017-03-09 8 views
0

Im Moment habe ich eine relativ einfache Schablone in meinem Winkelregler haben,Angular Ereignisbindung funktioniert nicht bei Verwendung von * ngFor

<div class="dropdown-menu" [attr.aria-labelledby]="item.name" *ngIf="item.children"> 
    <button class="dropdown-item" *ngFor="let child of item.children; let last = last" (click)="child.action">{{child.name}} <hr *ngIf="!last"></button> 
</div> 

aber meine (click) Ereignis verschwindet aus dem DOM verbindlich, wenn alles kompiliert wird. Wenn ich den Knopf zu einem Verbindungselement ändere und (click) zu [href] ändere, funktioniert es so.

jede Hilfe dankbar, nur mit Angular2 den Griff zu bekommen :)

Edit: Ich entschuldige mich, ich einen Moment des Wahnsinns (Dummheit) ... hatte wohl bedeuten

+1

Offensichtlich wird nichts passieren, weil Sie nie irgendetwas hier aufrufen '(klick) =" child.action "' – dfsq

+0

@dfsq Ich habe die Frage aktualisiert, die hoffentlich besser erklärt, was das Problem ist. – Gethin

+1

Und was haben Sie erwartet, sollte gerendert werden? Es wird natürlich keine Attribute wie 'onclick' geben. – dfsq

Antwort

1

Sie

(click)="child.action()" 

oder

(click)="child.action($event)" 

sonst wird es nicht aufgerufen.

+0

Sorry, ich werde mehr Informationen zu meiner ursprünglichen Frage zur Verfügung stellen, da das nicht das Problem ist :) – Gethin

+0

Das ist eine gute Antwort @ Günter Zöchbauer – MMR

+0

War nur ein Tippfehler: D –

Verwandte Themen