У меня есть api call on $, на который я получил ответ Json, который связан с вопросом. я смог показать fileName в li
, теперь у меня есть функция удаления, когда пользователь нажимает на значок удаления, я rskAsesAprvAtchKy
функцию и пытаюсь получить ключ rskAsesAprvAtchKy
поэтому я могу опубликовать ключ для rskAsesAprvAtchKy
чтобы удалить этот файл.
Он идет неопределенно, я не уверен, что я пропущу какую-либо помощь.
main.html
<div class="row">
<div class="col-md-6">
<ul>
<li ng - repeat="file in attachedDoc">{{file . fileName}}
<a href="" ng - click="deleteFile()">
<span class="glyph_remove"></span>
</a>
</li>
</ul>
</div>
</div>
factory.js
$scope.$on('addEditAttest', function (s, attestorObj) {
$scope.attestorObj = attestorObj;
attestorFactory.getAttachedDocument($scope.attestorObj.riskAssessmentRoleAsgnKey)
.then(function (response) {
$scope.attachedDoc = response.data;
});
});
$scope.deleteFile = function () {
var fileKey;
$scope.attachedDoc.rskAsesAprvAtchKy = fileKey;
console.log("deleted", fileKey);
}
JSON.JS
[{
"rskAsesAprvAtchKy": 1001,
"fileName": "Doc 1",
"rskAsesRoleAsgnKy": 1277
}]
Вы можете передать ключ как параметр для метода ng-click
:
В представлении
<li ng-repeat="file in attachedDoc">{{file.fileName}}
<a href="" ng-click="deleteFile(file.rskAsesAprvAtchKy, $index)"> //Key from the file
<span class="glyph_remove">
</span>
</a>
</li>
Измените метод удаления
$scope.deleteFile = function(fileKey, fileIndex){
/*Delete the file*/
$scope.attachedDoc.splice(fileIndex, 1); //remove the file at position fileIndex
}
РЕДАКТИРОВАТЬ:
Передача индекса $ из ng-repeat и использование Array.splice() выполнит эту работу. См. Выше.