错误:[ng:areq]参数'TasksCtrl'不是函数,未定义

时间:2015-08-24 19:08:24

标签: javascript angularjs angularjs-controller angularjs-module

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

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>

1 个答案:

答案 0 :(得分:1)

您应该在控制器中使用时添加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错误