如何在一次点击中添加许多功能?

时间:2013-05-29 12:30:51

标签: javascript angularjs

我一直在寻找如何执行此功能,但到目前为止我找不到任何相关内容,:( 我可以嵌套这两个函数是,但我只是想知道这是否可能? 我想按字面意思做这件事:

<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中一样直截了当......但事实并非如此:(

7 个答案:

答案 0 :(得分:612)

您有两个选择:

  1. 创建包装两个方法的第三个方法。这里的优点是您在模板中放置了较少的逻辑。

  2. 否则,如果你想在ng-click中添加2个电话,你可以添加';'在edit($index)之后

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

  3. 见这里:http://jsfiddle.net/laguiz/ehTy6/

答案 1 :(得分:14)

您可以使用';'

调用多个函数
ng-click="edit($index); open()"

答案 2 :(得分:4)

很多人都使用(单击)选项,所以我也会分享。

<button (click)="function1()" (click)="function2()">Button</button>

答案 3 :(得分:2)

试试这个:

  • 制作一系列功能
  • 创建一个遍历并执行集合中所有函数的函数。
  • 将功能添加到html
array = [
    function() {},
    function() {},
    function() {}
]

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

ng - click = "loop()"

答案 4 :(得分:1)

遵循以下内容

ng-click="anyFunction()"

anyFunction() {
   // call another function here
   anotherFunction();
}

答案 5 :(得分:1)

添加多种功能的标准方法

<button (click)="removeAt(element.bookId); openDeleteDialog()"> Click Here</button>

<button (click)="removeAt(element.bookId)" (click)="openDeleteDialog()"> Click Here</button>

答案 6 :(得分:-15)

ng-click "$watch(edit($index), open())"