javascript - Cum să adaugi mai multe funcții într-un SINGUR ng-click?
Am căutat cum să execut asta, dar până acum nu am găsit nimic relevant, :( Aș putea să încuibez ambele funcții, da, dar mă întreb doar dacă este posibil? Aș vrea să fac asta literalmente:
<td><button class="btn" ng-click="edit($index) open()">Open me!</button></td>
Codul meu JS în acest moment:
$scope.open = function () {
$scope.shouldBeOpen = true;
};
$scope.edit = function(index){
var content_1, content_2;
content_1 = $scope.people[index].name;
content_2 = $scope.people[index].age;
console.log(content_1);
};
Aș dori să apelez două funcții cu un singur clic, cum pot face asta în AngularJS? Am crezut că va fi simplu, ca și în CSS când adaugi mai multe clase... dar nu este :(
Răspuns #1
Ai 2 opțiuni:
Creează o a treia metodă care să înfășoare ambele metode. Avantajul aici este că pui mai puțină logică în șablonul tău.
Altminteri, dacă vrei să adaugi 2 apeluri în ng-click, poți adăuga ';' după
edit($index)astfelng-click="edit($index); open()"
Vezi aici: http://jsfiddle.net/laguiz/ehTy6/
Răspunsul #2
Poți apela mai multe funcții cu ';'
ng-click="edit($index); open()"
Răspunsul #3
Mulți oameni folosesc opțiunea (click), așa că și eu o voi împărtăși.
<button (click)="function1()" (click)="function2()">Button</button>
Răspunsul #4
Modul standard de a adăuga funcții multiple
<button (click)="removeAt(element.bookId); openDeleteDialog()"> Click Here</button>
sau
<button (click)="removeAt(element.bookId)" (click)="openDeleteDialog()"> Click Here</button>
