从angularjs中的另一个函数调用回调函数

时间:2017-05-22 05:56:15

标签: javascript angularjs

早上好,

我试图从angularjs中的anther函数调用回调函数。

我的控制器看起来像

Get-ChildItem -Path C:\Share1 | Copy-Item C:\share2 -verbose -ErrorAction SilentlyContinue

当我尝试从 function LMSAppController($scope, LMSAppFactory,$http) { $scope.branchSearch = function (code){ $scope.hidbranchcode = code; $scope.gridOptions = {}; } $scope.gridOptions = { getData: LMSAppFactory.getTableData, }; } 调用gridOptions函数时,branchSearch没有调用。请指出我的错误在哪里? 提前谢谢。

编辑:

gridOptions

现在函数正在调用..非常感谢@Jaromanda X先生。但现在我在控制台

中得到“function LMSAppFactory($http) { var ajaxRequest = 'processRequest.jsp?'; var branchCode = document.getElementById("hidbranchcodeID").value ; alert("branchCode===="+branchCode); return { getTableData: getTableData, }; function getTableData(params, callback) { $http.get(ajaxRequest + 'requestType=getRecords'+params+'&value=10').then(function (response) { callback(response.data[1].LMSRecords, response.data[0].LMSRecordsCount); }); } }

2 个答案:

答案 0 :(得分:0)

gridOptions不是一个功能。它是一个对象。当您致电$scope.gridOptions = {};时,它会将gridOptions的值重置为空对象。如果你想制作gridOptions函数,那就改变它。

$scope.gridOptions = function(){
  return {
      getData: LMSAppFactory.getTableData
  }
}

现在像这样调用gridOptions函数方法getData

$scope.branchSearch = function (code){
    $scope.hidbranchcode = code;
    $scope.gridOptions().getData();
}

答案 1 :(得分:0)

可能是您的response.dataarray of single object。如下所示:

var data = [
             {}
           ];

因此,如果您尝试访问data[1],则会返回undefined

<强>样本

var data = [{}];

console.log(data[1]); // undefined