如何在前端拾取数组的特定元素,并在使用ng repeat时返回到控制器
How to pick a specific element of an array in the frontend and return to controller when using ng-repeat
我想显示所有文件名,并为每个文件提供一个下载按钮,使用以下代码:(这个问题的标题可能不太合适)
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>
fileCtrl控制器:
// ... some more codes here
var vm = this;
vm.download = function() {
File // service
.getFile(filename)
.success(function(data) {
//.....
});
};
// ... some more codes here
文件服务:
fileFactory.getFile = function(filename) {
return $http.get('/api/files/' + filename);
};
问题:当用户点击下载按钮时,会有一个特定的filename
,我如何将filename
传递给控制器,让控制器知道用户要下载哪个文件,然后执行.getFile(filename)
?
您不需要表单。相反,在按钮上使用ng-click
操作。
<div ng-repeat="file in fileCtrl.filesInfo">
<button ng-click="fileCtrl.download(file.filename)">download</button>
<p> {{file.filename}} </p>
<hr>
</div>
还要注意,应该使用.then
,而不是不推荐使用的.success
。
var vm = this;
vm.download = function(filename) {
File // service
.getFile(filename)
.then(function(data) {
//.....
});
};
相关文章:
- ng init中的表达式无法使用ng repeat
- Angular ng repeat order将多个字段作为一个字段
- 访问ng repeat中的第一个项目
- Angular js+ng repeat+字母数字索引不起作用
- 如何正确应用Angularjs ng repeat
- AngularJS Navigation (li ng-repeat, create header li), DOM
- 如何使用ng repeat中的选定输入更新我的对象
- 无法使用ng repeat检索动态创建的JSON对象的属性
- 使用 ng-repeat访问 ng 表单元素/值
- Toggle Switch在包含ng model和ng repeat之后不进行切换
- 如何在ng repeat angular js中使用$index
- 在Angularjs中,我如何使用ng repeat、ng model和ng click来动态更改内容
- ng repeat在ng repeat-过滤器不工作
- 在ng repeat中使用带有orderBy的方法
- Angular JS ng-repeat
- 在ng repeat中使ng disabled为true
- AngularJS:如何在ng repeat中使用$index
- 复选框无法正常使用ng repeat,AngularJs
- 如何避免在HTML中使用ng repeat对url名称进行硬编码
- 替换ng repeat中的一些符号