javascript - Angular : service. setData 不是函数

标签 javascript angularjs function

为什么 Angular 说我 setData 不是一个函数?

angular.module('mdl').factory('DataService', ['$http', '$cookieStore', '$rootScope',
    function ($http, $cookieStore, $rootScope) {
        return {
            setData: function (data) {
                $rootScope.data = data;
            },
        };
    }
]);

这是我的 Controller ,它调用 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) {

            });
    };
}

]);

最佳答案

依赖注入(inject)存在问题,您声明了 6 个项目,而在您的函数中您有 5 个项目。而缺少的是 DataService。

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

关于javascript - Angular : service. setData 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30595371/

相关文章:

javascript - Angularjs,单选按钮选择显示选择性 div(有输入)不起作用

php - 用 PHP 替换多个占位符?

javascript - 无法使用 Express 服务器加载 app.css、main.js 和其他文件

javascript - 异步等待图像加载事件触发器

javascript - MongoDB 搜索不返回相同字符串的文档

json - Angular gzip json 文件自动 : Refused to set unsafe header "Accept-Encoding"

javascript - ng-repeat 中的 Angular 选择

javascript - AngularJS 全局 http 轮询服务

php - 在 PHP 中比较日期

r - 将数据帧的名称传递到 r 中的循环中