在多张图片上传中,如果我在 angularjs 中单击该图片,如何删除特定图片。我已经上传了多张图片,并且每个上传的图片都有文本框。如果我单击图片删除图标,它会删除带有该文本框的图片。我的 View 代码如下所示
<input type="file" multiple file-upload /> {{files.length}}
<div ng-repeat="step in files">
<img ng-src="{{step.src}}" />
<input type="text" ng-model="comment[$index]"><br>
<input type="button" onclick="removeImage($index)" value="delete">
</div>
在我的 Angular Controller 中,代码如下所示
app.directive('fileUpload', function() {
return {
scope: true, //create a new scope
link: function(scope, el, attrs) {
el.bind('change', function(event) {
var files = event.target.files;
//iterate files since 'multiple' may be specified on the element
for (var i = 0; i < files.length; i++) {
//emit event upward
scope.$emit("fileSelected", {
file: files[i]
});
}
});
}
};
});
$scope.files = [];
$scope.$on("fileSelected", function(event, args) {
var item = args;
$scope.files.push(item);
var reader = new FileReader();
reader.addEventListener("load", function() {
$scope.$apply(function() {
item.src = reader.result;
});
}, false);
if (item.file) {
reader.readAsDataURL(item.file);
}
});
最佳答案
使用 ng-click
代替 onclick 并使用 javascript splice
函数从数组中删除一个项目
<input type="button" ng-click="removeImage($index)" value="delete">
$scope.removeImage = function(index){
$scope.files.splice(index,1)
}
关于javascript - 在angularjs中上传多张图片时删除所选图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46254502/