Как вызвать функцию из контроллера AngularJs - PullRequest
0 голосов
/ 22 января 2020
var app = angular.module("myModule", ['angularUtils.directives.dirPagination']); 
app.controller("GetTicketDetails", function ($scope, $http) {    
  $scope.GetData = function(){ 
    $http({
        url: "../api/getData",
        method: "GET"
    }).then(function (response) {
        console.log(response.data);
        $scope.ListTicketDetails = response.data;
        $scope.TotalTickets = response.data.length;
    })
  };

  $scope.DeleteKitchen = function (x) {    
    $http({   
        method: 'PUT',
        url: '../api/Delete_kitchen?Id=' + x,            
    }).then(function successCallback(response) {
        $http({
            url: "../api/getData",
            method: "GET"
        }).then(function (response) {
            console.log(response.data);
            $scope.ListTicketDetails = response.data;
            $scope.TotalTickets = response.data.length;
        })
    }, function errorCallback(response) {
        alert("Error. while updating user Try Again!");
    });
  };

Можно ли вызвать $ scope GetData в успешном ответе DeleteKitchen для перезагрузки измененных данных? Для того, чтобы сократить ввод снова, получите данные http get request

Ответы [ 2 ]

0 голосов
/ 24 января 2020
 $scope.DeleteKitchen = function (x) {    
    $http({   
        method: 'PUT',
        url: '../api/Delete_kitchen?Id=' + x,            
    }).then(function successCallback(response) {
        $http({
            url: "../api/getData",
            method: "GET"
        }).then(function (response) {
            console.log(response.data);
            $scope.ListTicketDetails = response.data;
            $scope.TotalTickets = response.data.length;
            //calling getData again
            $scope.GetData();
        })
    }, function errorCallback(response) {
        alert("Error. while updating user Try Again!");
    });

Вы можете сделать это так.

0 голосов
/ 22 января 2020

Простой ответ - да.

Объяснение: Пока функция, в которой вы хотите вызвать GetData, находится внутри контроллера, вы можете вызывать.

$scope является параметром функции контроллера, и все, что находится внутри этой функции, независимо от ее глубины, будет доступно ( Для получения дополнительной информации см. closure ). Как только $scope станет доступным, вы сможете получить доступ к GetData

app.controller("GetTicketDetails", function ($scope, $http) { 
    // controller code
    // $scope is accessible everywhere within this no matter how deep.
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...