Удалить записи из базы данных с параметрами из AngularJS - PullRequest
0 голосов
/ 03 мая 2018

У меня есть хранимая процедура, которой требуется 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 здесь, но документыData содержат идентификатор файла

Это мой 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 для выбранной строки в мое сообщение

Это мой стол

My Table

1 Ответ

0 голосов
/ 03 мая 2018

Я не уверен, почему вы используете директиву для этого, но если это действительно то, что вы хотите сделать, я бы порекомендовал провести немного больше исследований о том, как реализовать директивы. Вы вводите имя директивы в качестве идентификатора элемента, но оно должно быть либо именем элемента, либо именем атрибута. Сказав это, логику, которую вы обрабатываете, было бы намного легче обрабатывать в контроллере.

Чтобы решить вашу непосредственную проблему, вы просто передаете 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 + ")");
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...