javascript - Angularjs - 未知提供商 :

标签 javascript angularjs yeoman

我不断收到此错误:

Error: [$injector:unpr] Unknown provider: UsersServiceProvider <- UsersService

我在 https://docs.angularjs.org/error/ 中读到了有关此主题的内容$injector/unpr 所以我把 ['UsersService' 放在我的 Controller 功能之前,但没有让它工作。 这是我的代码,我只运行 yo Angular,然后运行 ​​yo Angular:service users

这是在我的controllers/main.js 中

angular.module('pmsFrontApp')
  .controller('MainCtrl', ['UsersService',function ($scope, UsersService) {

    $scope.form = { firstName: '', lastName: '' };
    UsersService.fetchAll().then(function(data) {
    //console.log(data);
    //$scope.lista = data;
  });
}]);

这是在我的 services/users.js 中

angular.module('pmsFrontApp')
  .service('UsersService', function ($q,$http) {
    this.fetchAll = function() {
      var defer = $q.defer();
      $http.get('http://localhost:8888/users', /*{
        params: {}
      }*/).success(function(data) {
        defer.resolve(data);
      }).error(function() {
        defer.reject('No vieja');
      });

      return defer.promise;
    }

  });
});

最佳答案

需要看起来像这样

.controller('MainCtrl', ['$scope', 'UsersService', function ($scope, UsersService) {

您正在注入(inject) $scope 和您的服务。您需要按名称提及两者,然后在函数中以相同的顺序注入(inject)它们。

在您的示例中,您的 $scope 变量实际上是您的 UsersService。

关于javascript - Angularjs - 未知提供商 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26952552/

相关文章:

JavaScript 以 1 秒延迟循环遍历日期范围

java - Ng 文件上传 - url JAVA SPRING

javascript - 如何在 AngularJS 中使用 jQuery 插件?

javascript - 在 Yosemite 上安装 Yeoman 时出错

javascript - 为什么 JS 传播运算符不能与 Flow 精确类型一起使用

javascript - 如何区分滚动事件和长按事件?

javascript - 在 Google map 中打开生成的带有标记的 map

javascript - 获取 Angular 中列的总和

testing - 如何为 karma e2e 设置 jasmine 以测试 Angular 应用程序?

node.js - 请求错误 : getaddrinfo ENOTFOUND github. com