angular.min.js:63 ReferenceError

时间:2016-04-06 07:58:01

标签: javascript angularjs express mean-stack

将工厂用于角度模块时会出现以下错误

我有如下工厂模块

   angular.module('pollServices', ['ngResource']).factory('Poll', function($resource) {
        return $resource('polls/:pollId', {}, {
          query: { method: 'GET', params: { pollId: 'polls' }, isArray: true }
        })
      });   

我在同一个文件中有另一个名为polls的模块,我需要将工厂模块用于此应用程序,所以我在模块配置中调用了它,如

angular.module('polls', ['pollServices'])

当我在这个模块中调用工厂时,如

 function PollListCtrl($scope) {
             $scope.polls = Poll.query();
}

我收到错误

angular.min.js:63 ReferenceError: Poll is not defined
    at new PollListCtrl (app.js:29)

2 个答案:

答案 0 :(得分:2)

您没有从Poll

致电PollListCtrl工厂
function PollListCtrl(Poll,$scope) {
         $scope.polls = Poll.query();
}

答案 1 :(得分:0)

您必须将pollServices注入控制器。

angular.module('polls', ['pollServices'])
    .controller('PollListCtrl', PollListCtrl)

PollListCtrl.$inject = ["$scope", "pollServices"];

function PollListCtrl($scope, Poll) {
    $scope.polls = Poll.query();
}