Error: [ng:areq] Argument 'TasksCtrl' is not a function, got undefined

Error: [ng:areq] Argument 'TasksCtrl' is not a function, got undefined

我开始收到错误消息,但无法弄清楚出了什么问题。我错过了什么吗?

js

var app = angular.module('Todolist', []);

app.controller('TasksCtrl', [
  '$scope', function($scope) {
    $scope.tasks = Task.query({
      status: 'incompleted'
    });

   $scope.completed_tasks = Task.query({
     status: 'completed'
    });

 }
]);

html

<div ng-controller='TasksCtrl' class='tasks-container'>
</div>

您应该添加 Task 服务依赖项,因为您在控制器中使用它。

控制器

app.controller('TasksCtrl', [
  '$scope', 'Task', function($scope, Task) {
    $scope.tasks = Task.query({
      status: 'incompleted'
    });

   $scope.completed_tasks = Task.query({
     status: 'completed'
    });

 }
]);

我假设您已经在某个地方定义了 Task 服务,如果没有,那么您应该将其添加到您的代码中。

编辑

尽管我添加了一个解决您其他问题的答案。我认为您在定义服务时已经在代码中声明了两次您的应用程序。那时,最初分配的控制器会从模块中清除,您会收到 Error: [ng:areq] Argument 'TasksCtrl' is not a function 错误