12849


↓のようにitemsに値が入っているときに

[code]

    items = [{key: 1, value: "a"},{key: 2, value: "b"}]
    
[/code]

ng-clickの関数内に値を渡したいのですが可能でしょうか？

[code]

    <div ng-repeat="item in items">
        <ul class="list">
            <li>{{item.value}}</li>
        </ul>
        <button ng-click='ClickFunction({{item.value}})'>追加する</button>
    </div>
    
[/code]

やりたいことはボタンを押されたのがどの値なのか判定したいです。  
他にもっといいやり方があれば教えて頂けると嬉しいです。  
よろしくお願いします。


CC BY-SA 3.0
2015-07-30T10:43:14.227
12835
2015-07-30T14:20:51.317
2015-07-30T11:01:35.780
7918
7918
question
javascript angularjs
AngularJSでng-repeatの値をng-clickの引数にすることは可能でしょうか？


> ng-clickの関数内に値を渡したいのですが可能でしょうか？
[code]

    ClickFunction({{item.value}})
    
[/code]

を

[code]

    ClickFunction(item.value)
    
[/code]

に変えれば変数が展開できます。

[code]

    var app = angular.module('myApp', []);
    app.controller('mainCtrl', ['$scope', function($scope) {
      $scope.items = [
        {key: 1, value: "value1"},
        {key: 2, value: "value2"}
      ];
      $scope.ClickFunction = function(val) {
        angular.element(document.querySelector('#value')).text(val);
      }
    }]);
[/code]

[code]

    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    <div ng-app='myApp' ng-controller='mainCtrl'>
      Selected Value: <span style="font-weight:bold" id="value"></span>
      <br>
      <div ng-repeat="item in items">
        <ul class="list">
          <li>{{item.value}}</li>
        </ul>
        <button ng-click='ClickFunction(item.value)'>追加する</button>
      </div>
    </div>
[/code]


CC BY-SA 3.0
2015-07-30T14:20:51.317
12849
2015-07-30T14:20:51.317
3516
12835
answer