Как добавить много функций в ONE 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, когда вы добавляете несколько классов... но это не так: (
Ответы
Ответ 1
У вас есть 2 варианта:
-
Создайте третий метод, который объединяет оба метода. Преимущество здесь в том, что вы ставите меньше логики в свой шаблон.
-
В противном случае, если вы хотите добавить 2 вызова в ng-click, вы можете добавить ';' после edit($index)
как этот
ng-click="edit($index); open()"
Смотрите здесь: http://jsfiddle.net/laguiz/ehTy6/
Ответ 2
Вы можете вызвать несколько функций с помощью;;
ng-click="edit($index); open()"
Ответ 3
Попробуйте следующее:
- Сделать набор функций
- Создайте функцию, которая выполняет цикл и выполняет все функции в коллекции.
- Добавить функцию в html
array = [
function() {},
function() {},
function() {}
]
function loop() {
array.forEach(item) {
item()
}
}
ng - click = "loop()"
Ответ 4
ng-click "$watch(edit($index), open())"