Javascript 使用ng repeat时如何在前端拾取数组的特定元素并返回控制器
我想显示所有文件名,并使用以下代码为每个文件提供一个下载按钮:(这个问题的标题可能不太合适) HTML: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> {
<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) {
//.....
});
};