供应商& # 39;任务# 39;必须从$get工厂方法返回一个值

Provider 'Task' must return a value from $get factory method

本文关键字:返回 一个 方法 任务 get 供应商 工厂      更新时间:2023-09-26

我已经写了一个angularjs工厂如下

var app = angular.module('Todolist', ['ngResource']);
  app.factory('Task', [
    '$resource', function($resource) {
      $resource('users/:user_id/tasks/:id', {
        id: '@id'
      }, {
        update: {
          method: 'PUT'
        }
      });
    }
  ]);
app.controller('TasksCtrl', [
  '$scope', 'Task', function($scope, Task) {
    $scope.tasks = Task.query({
      status: 'incompleted'
    });
   $scope.completed_tasks = Task.query({
     status: 'completed'
    });
 }
]);

但是我一直得到错误,不知道我在哪里做错了。

Error: [$injector:undef] Provider 'Task' must return a value from $get factory method.

有什么问题吗?

您正在创建工厂。它们必须定义一个$get方法来创建它应该创建的新实例。查看Provider Recipe的文档:https://docs.angularjs.org/guide/providers