Как добавить много функций в один нг-клик?

240

Я искал, как выполнить это, но я пока не могу найти ничего связанного,:( Я мог бы установить обе функции, но мне просто интересно, возможно ли это? Я хотел бы сделать это буквально:

<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, когда вы добавляете несколько классов... но это не так: (

Теги:

4 ответа

541
Лучший ответ

У вас есть 2 варианта:

  • Создайте третий метод, который объединяет оба метода. Преимущество здесь в том, что вы ставите меньше логики в свой шаблон.

  • В противном случае, если вы хотите добавить 2 вызова в ng-click, вы можете добавить ';' после edit($index) как этот

    ng-click="edit($index); open()"

Смотрите здесь: http://jsfiddle.net/laguiz/ehTy6/

  • 1
    Я использовал метод два (который делает то , что нужно), но то , что причины не иметь два вызова в один ng-click ?
  • 0
    Обе работы - это всего лишь вопрос установки логики только на ваши контроллеры. В таком случае ничего страшного :)
Показать ещё 10 комментариев
6

Вы можете вызвать несколько функций с помощью;;

ng-click="edit($index); open()"
0

Попробуйте следующее:

  • Сделать набор функций
  • Создайте функцию, которая выполняет цикл и выполняет все функции в коллекции.
  • Добавить функцию в html
array = [
    function() {},
    function() {},
    function() {}
]

function loop() {
    array.forEach(item) {
        item()
    }
}

ng - click = "loop()"
-12
ng-click "$watch(edit($index), open())"
  • 1
    Синтаксис здесь неверный. Как объяснено выше, точка с запятой является разделителем; не запятая ... кроме всего прочего ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню