Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度服务未定义_Javascript_Angularjs_Angularjs Service - Fatal编程技术网

Javascript 角度服务未定义

Javascript 角度服务未定义,javascript,angularjs,angularjs-service,Javascript,Angularjs,Angularjs Service,我正在尝试调用服务中的mergeUserList()函数。这是我的控制器,看起来像这样: app.controller('UserManagementController', ['$http','$sessionStorage','api','$modal','$scope','Session', 'divisionService','$filter', function ($http, $sessionStorage, api, $modal, $scope, $state, Session,

我正在尝试调用服务中的
mergeUserList()
函数。这是我的控制器,看起来像这样:

app.controller('UserManagementController', ['$http','$sessionStorage','api','$modal','$scope','Session', 'divisionService','$filter', function ($http, $sessionStorage, api, $modal, $scope, $state, Session, divisionService,$filter) {
    divisionService.mergeUserList().then(function(response)
    {
        $scope.users = response;
    });
}]);
我的服务:

app.factory("divisionService", function (api, $http, $q) {
    //Organization divisions with division users
    var division = {};
    var divisionArray = [];
    var mergedUserList = [];
    return {
        mergeUserList: function () {
            if (divisionArray == null || divisionArray.length == 0) {
                var list = [];
                var d = $q.defer();
                this.getList().then(function () {
                    divisionArray.forEach(function (y) {
                        y.users.forEach(function (user) {
                            list.push(user);
                        });
                        d.resolve(list);
                    })
                });
                return d.promise;
            }
            else {
                return null;
            }
        }
    };
    return division;
});

我的问题是,当我运行代码时,它会显示
TypeError:undefined不是
控制器
1
行中的函数。我知道问题不在
服务中,因为我在另一个控制器中使用它,并且它在那里工作。

如果有一个
$state
作为函数参数,它不包含在数组中,请将其更改为:

app.controller('UserManagementController', ['$http','$sessionStorage','api','$modal','$scope', '$state', 'Session', 'divisionService','$filter', function ($http, $sessionStorage, api, $modal, $scope, $state, Session, divisionService, $filter) {

妈的,这是我犯的错误,但非常感谢!我会尽快接受这个答案。