Angular2 Click-Ereignis nicht-Formular-Elementen

Dies ist über Angular2

Wie höre ich auf Ereignisse (wie Mausklick) auf die nicht-form-Elemente wie <li>?

side-bar.html

<div class="col-sm-3 col-md-2 sidebar">
    {{title}}
    <ul class="nav nav-sidebar">
        <li *ng-for="#collection of collections" (click)="liClicked(this)">
            <a href="#">{{ collection }}</a>
        </li>
    </ul>
</div>

SideBarComponent

function SideBarComponent(){
    this.title = "Collections";
    this.collections = ["Collection-1", "Collection-2", "Collection-3", "Collection-4", "Collection-5"];
    this.liClicked = function(el){
        alert('a');
    }
}
SideBarComponent.annotations = [
    new angular.ComponentAnnotation({
        selector:'side-bar'
    }),
    new angular.ViewAnnotation({
        templateUrl: 'templates/side-bar.html',
        directives:[angular.NgFor]
    })
];

Einen Punkt zu beachten ist hier, dass, wenn ich ersetzen <a> tag aus side-bar.html mit einem <button> tag, das click-Ereignis funktioniert. Aber aus irgendeinem Grund, es funktioniert nicht, wenn ich (click) handler <li> element.

Sie könnten versuchen, ändern Sie Ihre Veranstaltung als liClicked (el: any) { alert('a'); }
Danke für Eure Reaktionen. Ich brauche JS-code für diese. Ich kann nicht kompilieren ES6 code bei meiner jetzigen Maschine aufgrund organisatorischer Einschränkungen. 🙂
Haben Sie versucht, mit (^click)?

InformationsquelleAutor AdityaParab | 2015-08-18

Schreibe einen Kommentar