Javascript 角度:service.setData不是函数

Javascript 角度:service.setData不是函数,javascript,angularjs,function,Javascript,Angularjs,Function,为什么angular告诉我setData不是一个函数 angular.module('mdl').factory('DataService', ['$http', '$cookieStore', '$rootScope', function ($http, $cookieStore, $rootScope) { return { setData: function (data) { $rootScope.data =

为什么angular告诉我setData不是一个函数

angular.module('mdl').factory('DataService', ['$http', '$cookieStore', '$rootScope',
    function ($http, $cookieStore, $rootScope) {
        return {
            setData: function (data) {
                $rootScope.data = data;
            },
        };
    }
]);
这是我的控制器,它调用
setData

angular.module('mdl').controller('DataCtrl', ['$scope', '$http', '$location', '$rootScope', 'DataService',
function($scope, $http, $location, DataService) {

    $scope.getData = function (id) {
        $http.post('/rest/data/get', id)
            .success(function (data, status, headers, config) {
                DataService.setData(data);
                $location.path('/main');
            })
            .error(function (data, status, headers, config) {

            });
    };
}

]))

当您在服务中声明一个函数时,您应该将此引用传递给函数。你也可以这样做

angular.module('mdl').factory('DataService', ['$http', '$cookieStore', '$rootScope',
    function ($http, $cookieStore, $rootScope) {

            this.setData: function (data) {
                return data;
            }

    }
]);
在控制器中,将此工厂作为依赖项并调用工厂的函数,如

$scope.data = DataService.setData();

您不应该使用
$rootScope
。当您在服务中声明一个函数时,您应该使用上面的调用,您应该将此引用传递给函数。你也可以这样做

angular.module('mdl').factory('DataService', ['$http', '$cookieStore', '$rootScope',
    function ($http, $cookieStore, $rootScope) {

            this.setData: function (data) {
                return data;
            }

    }
]);
在控制器中,将此工厂作为依赖项并调用工厂的函数,如

$scope.data = DataService.setData();

您不应该使用
$rootScope
。当您在服务中声明一个函数时,您应该使用上面的调用,您应该将此引用传递给函数。你也可以这样做

angular.module('mdl').factory('DataService', ['$http', '$cookieStore', '$rootScope',
    function ($http, $cookieStore, $rootScope) {

            this.setData: function (data) {
                return data;
            }

    }
]);
在控制器中,将此工厂作为依赖项并调用工厂的函数,如

$scope.data = DataService.setData();

您不应该使用
$rootScope
。当您在服务中声明一个函数时,您应该使用上面的调用,您应该将此引用传递给函数。你也可以这样做

angular.module('mdl').factory('DataService', ['$http', '$cookieStore', '$rootScope',
    function ($http, $cookieStore, $rootScope) {

            this.setData: function (data) {
                return data;
            }

    }
]);
在控制器中,将此工厂作为依赖项并调用工厂的函数,如

$scope.data = DataService.setData();

您不应该使用
$rootScope
。您应该使用上面的调用来替换
DataService.setData(data)带有
LoginService.setData(数据)在控制器中,因为在作为参数传入时已重命名工厂。

替换
DataService.setData(数据)带有
LoginService.setData(数据)在控制器中,因为在作为参数传入时已重命名工厂。

替换
DataService.setData(数据)带有
LoginService.setData(数据)在控制器中,因为在作为参数传入时已重命名工厂。

替换
DataService.setData(数据)带有
LoginService.setData(数据)在控制器中,因为作为参数传入时已重命名工厂。

依赖项注入有问题,您声明了6项,而在函数中有5项。缺少的是数据服务

['$scope', '$http', '$location', '$rootScope', 'DataService',
function($scope, $http, $location, $rootScope /*Missing*/, DataService) {
…
}

依赖项注入有一个问题,您声明了6项,而在您的函数中有5项。缺少的是数据服务

['$scope', '$http', '$location', '$rootScope', 'DataService',
function($scope, $http, $location, $rootScope /*Missing*/, DataService) {
…
}

依赖项注入有一个问题,您声明了6项,而在您的函数中有5项。缺少的是数据服务

['$scope', '$http', '$location', '$rootScope', 'DataService',
function($scope, $http, $location, $rootScope /*Missing*/, DataService) {
…
}

依赖项注入有一个问题,您声明了6项,而在您的函数中有5项。缺少的是数据服务

['$scope', '$http', '$location', '$rootScope', 'DataService',
function($scope, $http, $location, $rootScope /*Missing*/, DataService) {
…
}

您能看到调用setData的代码吗?在控制器中使用DataService.setData或DataService对象name@MathieuBertin添加了控制器代码。您能看到调用setData的代码吗?在控制器中使用DataService.setData或DataService对象name@MathieuBertin添加了控制器代码。您能看到您调用的代码吗控制器中的setData?使用DataService.setData或DataService对象name@MathieuBertin添加了控制器代码。您能看到调用setData的代码吗?在控制器中使用DataService.setData或DataService对象name@MathieuBertin添加了控制器代码。但这是服务,我使用的是工厂。我需要使用
$rootScope
。但这是服务,我使用的是工厂。我需要使用
$rootScope
。但这是服务,我使用的是工厂。我需要使用
$rootScope
。但这是服务,我使用的是工厂。我需要使用
$rootScope