javascript - 如何使用 AngularJS 从对象列表中获取 id?

标签 javascript html angularjs

我在 $on 上进行了 api 调用,我收到了问题附带的 Json 响应。我能够在 li 中显示 fileName ,现在当用户单击删除图标时我有删除功能,我正在调用函数并尝试获取 rskAsesAprvAtchKy key ,以便我可以发布键到后端删除该文件。

它是未定义的,我不确定我错过了什么,任何帮助将不胜感激..

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>

工厂.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
}]

最佳答案

您可以将 key 作为 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 传递 $index 并使用 Array.splice()会做这项工作。见上文。

关于javascript - 如何使用 AngularJS 从对象列表中获取 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31195747/

相关文章:

javascript - 有没有办法在 Angularjs 的指令中获取子元素的宽度和高度

javascript - 如何存储使用 Angular Directive(指令)的 Accordion 的状态

javascript - 从命令行安装ESlint错误

javascript - Jquery 跟踪下拉菜单中的更改

html - 为什么我的浏览器不发送任何引荐来源网址?

html - 雅虎移动布局问题与自动换行样式

javascript - react 导航中的动态标题

javascript - 为什么不能更新 css 变量名来应用不同的颜色主题?

javascript - 使用 Javascript 两次添加相同的 CSS 属性

javascript - 用于嵌套 ng-repeat 的 Angular 独特过滤器