ng-click传递多个数组?

时间:2018-02-19 03:27:06

标签: javascript angularjs

我有一个嵌套的json对象数组,我可以使用ng-repeat显示按HTML分组的内部项目。我在每个内部项目前面都有一个复选框,我在其中处理ng-click事件并将选定的内部项目传递给控制器​​。但是现在我还想在ng-click事件中传递Info id。我可以在ng-click

中将Info数组连接到Inner items数组

这是json:

[
  {
    "Info": {
      "id": "a1",
      "name": "a1-Info",
      "InnerInfo": [
        {
          "name": "xyz"
        }
      ]
    },
    "InnerItems": [ 
      { "id": "i1" }, 
      { "id": "i2" } 
    ] 
  } 
]



<tr ng-repeat=“I in MyData">
<td> {{I.Info.name}}
      <table>
             <tr><td>
                 <div ng-repeat=“item in I.InnerItems ">
                       <input type="checkbox" name="values" ng-click=“getInfo(I);getInnerItems(item)” ng-true-value="1" ng-false-value="0"/>{{item.name}}
                 </div>
                 </td>
             </tr>
       </table>
  </td>
  </tr>
&#13;
&#13;
&#13;

我需要将两个数组都传递给一个函数而不是上面的方法。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

使用带resource not found的表达式在控制器上设置属性。

假设你在控制器var FACE = new function () { this.listen = function() { var camera = document.getElementById('camera'); camera.addEventListener('change', function(e) { var imageFile = e.target.files[0]; var reader = new FileReader(); var fileType; //wire up the listener for the async 'loadend' event reader.addEventListener('loadend', function () { //get the result of the async readAsArrayBuffer call var fileContentArrayBuffer = reader.result; sendImage(fileContentArrayBuffer, fileType); }); if (imageFile) { //save the mime type of the file fileType = imageFile.type; //read the file asynchronously reader.readAsArrayBuffer(imageFile); } }); function sendImage(fileContentArrayBuffer, fileType) { $.ajax({ // NOTE: You must use the same location in your REST call as you used to obtain your subscription keys. // For example, if you obtained your subscription keys from westcentralus, replace "westus" in the // URL below with "westcentralus". url: "https://westcentralus.api.cognitive.microsoft.com/face/v1.0/", beforeSend: function(xhrObj){ // Request headers, also supports "application/octet-stream" xhrObj.setRequestHeader("Content-Type","application/json"); // NOTE: Replace the "Ocp-Apim-Subscription-Key" value with a valid subscription key. xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","my key"); }, //don't forget this! processData: false, type: "POST", // Request body data: new Blob([fileContentArrayBuffer], { type: fileType }) }).done(function(data) { alert(data); // Get face rectangle dimensions var faceRectangle = data[0].faceRectangle; var faceRectangleList = $('#faceRectangle'); // Append to DOM for (var prop in faceRectangle) { faceRectangleList.append("<li> " + prop + ": " + faceRectangle[prop] + "</li>"); } // Get emotion confidence scores var scores = data[0].scores; var scoresList = $('#scores'); // Append to DOM for(var prop in scores) { scoresList.append("<li> " + prop + ": " + scores[prop] + "</li>") } }).fail(function(err) { alert("Error: " + JSON.stringify(err)); }); } }; }; 上有一个属性,然后像这样使用ng-click

activeData

答案 1 :(得分:0)

我已将多个参数传递给我的一个函数本身,如getInfo(I,items),并尝试在控制器中访问,而不必使用任何属性。它工作正常