Si tratta di Angular2Angular2 evento Click su elementi non-forma
Come faccio ad ascoltare gli eventi (come Click) sugli elementi non-forma come <li>
?
laterale 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]
})
];
Un punto da notare qui è che, se sostituisco <a>
tag da lato bar.html con un tag <button>
, la l'evento click funziona bene. Ma per qualche ragione, non funziona quando aggiungo il gestore (click)
all'elemento <li>
.
Potrebbe cercare di cambiare il vostro evento come 'liClicked (EL: qualsiasi) { alert ('a'); } –
Grazie per la vostra risposta. Ho bisogno del codice JS per questo. Non riesco a compilare il codice 'ES6' sulla mia macchina attuale a causa di restrizioni organizzative. :) – AdityaParab
Hai provato con '(^ clic)'? –