Как добавить много функций в один ng-click?
Я ищу, как выполнить это, но я не могу найти ничего связанного так далеко, :( Я мог бы вложить обе функции да, но мне просто интересно, возможно ли это? Я хотел бы сделать это буквально:
<td><button class="btn" ng-click="edit($index) open()">Open me!</button></td>
мой код JS на данный момент:
$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);
};
Я хотел бы вызвать две функции одним щелчком мыши, как я могу это сделать в angularJS? Я думал, что это будет прямо, как в CSS, когда вы добавляете несколько классов...но это не так :(
5 ответов
у вас есть 2 варианта :
создайте третий метод, который обернет оба метода. Преимущество здесь в том, что вы вкладываете меньше логики в свой шаблон.
-
в противном случае, если вы хотите добавить 2 вызова в ng-click, вы можете добавить '; ' после
edit($index)
такойng-click="edit($index); open()"
смотрите здесь : http://jsfiddle.net/laguiz/ehTy6/
попробуйте это:
- сделайте коллекцию функций
- создайте функцию, которая выполняет все функции в коллекции.
- добавьте функцию в html
array = [
function() {},
function() {},
function() {}
]
function loop() {
array.forEach(item) {
item()
}
}
ng - click = "loop()"
многие люди используют (нажмите) опцию, поэтому я тоже поделюсь этим.
<button (click)="function1()" (click)="function2()">Button</button>