Поставщик «Задача» должен возвращать значение из метода $ get factory

0

Я написал фабрику 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.

Так что с этим не так?

  • 0
    Вы также должны return свой $resource с фабрики
  • 0
    @ Александр Шматько, если вам не нужны новые экземпляры этого ресурса, подумайте об использовании сервисного рецепта. Это в основном синглтон. :)
Теги:

1 ответ

2
Лучший ответ

Вы создаете фабрику. У них должен быть определен метод $ get, который создает новые экземпляры того, что он должен создавать. Проверьте документацию для рецепта поставщика здесь: https://docs.angularjs.org/guide/providers

Ещё вопросы

Сообщество Overcoder
Наверх
Меню