Javascript 使用ng repeat时如何在前端拾取数组的特定元素并返回控制器

Javascript 使用ng repeat时如何在前端拾取数组的特定元素并返回控制器,javascript,html,angularjs,model-view-controller,Javascript,Html,Angularjs,Model View Controller,我想显示所有文件名,并使用以下代码为每个文件提供一个下载按钮:(这个问题的标题可能不太合适) HTML: <div ng-repeat="file in fileCtrl.filesInfo"> <form method="get" ng-submit="fileCtrl.download()"> <button type="submit">download</button> </form> <p> {

我想显示所有文件名,并使用以下代码为每个文件提供一个下载按钮:(这个问题的标题可能不太合适)

HTML:

<div ng-repeat="file in fileCtrl.filesInfo">
  <form method="get" ng-submit="fileCtrl.download()">
    <button type="submit">download</button>
  </form>

  <p> {{file.filename}} </p>
  <hr>
</div>
</div>
文件服务:

  fileFactory.getFile = function(filename) {
    return $http.get('/api/files/' + filename);
  };

问题:当用户单击下载按钮时,将出现一个特定的
文件名
,我如何将
文件名
传递给控制器并让控制器知道用户要下载哪个文件,然后执行
。getFile(filename)

您不需要表单。相反,在按钮上使用
ng单击
操作

<div ng-repeat="file in fileCtrl.filesInfo">
  <button ng-click="fileCtrl.download(file.filename)">download</button>
  <p> {{file.filename}} </p>
  <hr>
</div>

file
传递给ngsubmit函数,如
FileCtrl.download(file)
cool,谢谢@Parris Varney
<div ng-repeat="file in fileCtrl.filesInfo">
  <button ng-click="fileCtrl.download(file.filename)">download</button>
  <p> {{file.filename}} </p>
  <hr>
</div>
var vm = this;

vm.download = function(filename) {

  File // service
    .getFile(filename)
    .then(function(data) {
      //.....
    });
};