使用来自 AngularJS 的参数从数据库中删除记录

Posted

技术标签:

【中文标题】使用来自 AngularJS 的参数从数据库中删除记录【英文标题】:Delete records from database wit parameters from AngularJS 【发布时间】:2018-10-14 06:24:38 【问题描述】:

我有一个存储过程,需要 fileID 从表中删除记录。

这是我的桌子

<table class="table table-striped" id="documentsTable">
        <thead>
            <tr>
                <!--<th>Id</th>-->
                <th>#</th>
                <th>Name</th>
                <th>Remove</th>
                <!--<th>SID</th>-->
            </tr>
        </thead>
        <tr ng-repeat="c in documentsData">
            <!--<td>c.fileID</td>-->
            <td>$index</td>
            <td><a href="c.contentType">c.name</a></td>
            <td><input type="button" class="btn btn-danger" ng-click="deleteDocuments()" value="Delete" /></td>
            <!--<td>c.sid</td>-->
        </tr>
    </table>

我没有在此处显示 FileID,但 documentsData 包含文件 ID

这是我的 JS

(function () 
    'use strict';
    angular.module('portalApp')
        .directive('documentsTable', function () 
            return 
                restrict: 'E',
                replace: true,
                templateUrl: 'app/views/Documents.html',
                controller: function ($scope, apiSvc, $routeParams) 
                    var SID = $routeParams.sid;
                    var getDocuments = function (sid) 
                        return apiSvc.Documents.query( id: sid );
                    ;
                    
                    $scope.documentsData = getDocuments(SID);
                    
                    //Table Row Index
                    $scope.GetRowIndex = function (index) 
                        $window.alert("Row Index: " + index);
                    ;

                    //Delete Documents
                    $scope.deleteDocuments = function () 
                        apiSvc.DeleteDocuments.save( id: $routeParams.sid , function (error) 
                            console.warn("Unable to Delete Document (" + error + ")");
                        );
                    
                
            
               
                        
        );
        
 )();

我不知道如何将所选行的 fileID 传递给我的帖子

这是我的桌子

【问题讨论】:

【参考方案1】:

我不确定您为什么要为此使用指令,但如果这确实是您想要做的,我建议您对如何实施指令进行更多研究。您将指令名称作为元素 ID,但它必须是元素名称或属性名称。话虽如此,您正在处理的逻辑在控制器中会更容易处理。

不过,要解决您眼前的问题,您只需将 fileID 传递给您的 deleteDocument 函数。

.html

// left the rest out for brevity
<td><input type="button" class="btn btn-danger" ng-click="deleteDocuments(c.fileID)" value="Delete" /></td>

.js

// left the rest out for brevity
//Delete Documents
$scope.deleteDocuments = function (fileID) 
    apiSvc.DeleteDocuments.save( id: fileID , function (error) 
        console.warn("Unable to Delete Document (" + error + ")");
    );

【讨论】:

以上是关于使用来自 AngularJS 的参数从数据库中删除记录的主要内容,如果未能解决你的问题,请参考以下文章

从 AngularJS url 中删除片段标识符(# 符号)

angularJs获取复选框中id 进行批量删除

使用angularJs显示来自socket io的数据

在angularjs中使用来自rest服务的JSON对象

如何使用 NodeJS + AngularJS 从文件中删除一些奇怪的错误

无法使用 AngularJS 从图库中删除视频文件