簡體   English   中英

角服務未定義

[英]Angular service is undefined

我正在嘗試調用服務內部的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 is not a function controller中第1行中的TypeError: undefined is not a function 我知道問題不在service ,因為我在另一個控制器中使用了它,並且在那里工作了。

您有一個$state作為函數參數,該參數不包含在數組中,請將其更改為:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM