gpt4 book ai didi

javascript - 在angularjs中上传多张图片时删除所选图片

转载 作者:行者123 更新时间:2023-11-30 21:10:00 24 4
gpt4 key购买 nike

在多张图片上传中,如果我在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com