将参数传递给angularjs中的ng-click函数

时间:2014-03-18 16:11:45

标签: javascript angularjs parameters angularjs-ng-click

如何通过ng-click传递,也就是说,引用scope参数 你可以在这个pluper中查看我想要的东西

http://plnkr.co/edit/Em7LiNStICjZA23pSph3?p=preview

2 个答案:

答案 0 :(得分:9)

通常,您不需要动态执行此操作,就像$scope上的特定inputs属性一样。

这是updated plunker

HTML:

<div class="test" ng-controller="Ctrl">
   <button ng-click="update(1, 'text1');">update text 1</button>
   <button ng-click="update(2, 'text2');">update text 2</button>
    {{text1}} , {{text2}}
<div>

JS:

function Ctrl($scope) {
  $scope.update = function(parameter1, textVar){
      if (parameter1 === 1) {$scope[textVar] = "1"}
      if (parameter1 === 2) {$scope[textVar] = "2"}
  };
}

答案 1 :(得分:1)

你可以,但我认为你正在混合一些东西。在您的代码中,您将textVar变量设置为1或2.但是从不使用此变量。

您必须将元素绑定到作用域上的变量,然后在更新函数中更新相关的作用域变量,例如:

$scope.update = function(button, text) {
  if(button == 1) {
    $scope.text1 = text;
  } else if(button == 2) {
    $scope.text2 = text;
  }
}

你的HTML:

<button ng-click="update(1,'Text for text1');">update text 1</button>
<button ng-click="update(2, 'Text for text2');">update text 2</button>
<span ng-bind="text1"></span>, <span ng-bind="text2"></span>