javascript - 我的 Angular 应用程序中的依赖注入(inject)在哪里出了问题

标签 javascript angularjs dependency-injection gruntjs yeoman

首先

angular.module('app', [
  'ngCookies',
  'ngResource',
  'ngSanitize',
  'ngRoute'
])

这是我的休闲工厂。没什么可看的

angular.module('app')
  .factory('myFactory', function () {
    // Service logic
    // ...

    // Public API here
    return {
      isSaved: true
    };
  });

这是一个我在其中使用该服务的 Controller 。还有一个类似的 Controller 。它们都遵循相同的模式

angular.module('app')
  .controller('AdvertisersCtrl', [ '$scope', '$location', 'myFactory', function ($scope, $location, myFactory) {
    $scope.$emit('controllerChange', 2);

    $scope.isFormSave = function () {
      // Form Validation
      myFactory.isSaved = true;
      $location.path('/saved');
    };
  }]);

最后,但同样重要的一点是。我收到的错误。

Error: [$injector:unpr] Unknown provider: myFactoryProvider <- myFactory
http://docs.angularjs.org/error/$injector/unpr?p0=myFactoryProvider

此外,这个项目是用 yoeman 搭建的,它使用 ngmin.. 以及 yoeman 提供的所有其他打包的 grunt 任务。

谢谢大家。

最佳答案

您是否创建了模块app
在上面的代码片段中,module() 的两次调用都应该检索已存在模块的实例。
但您必须先创建它。

angular.module('app', [])angular.module('app')

更多信息:http://docs.angularjs.org/guide/module#creation-versus-retrieval

关于javascript - 我的 Angular 应用程序中的依赖注入(inject)在哪里出了问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22366706/

相关文章:

javascript - 在 MainActivity Xamarin 中从 webview 调用 javascript

angularjs - Angular - 在子指令的 Controller 中获取父指令的 Controller (不是链接函数)

java - 多语言组件/类 [OOP/Patterns/IoC/DI]

spring - Faker for Grails 给出变量未定义错误

javascript - 将 + 转换为复选框

javascript - 全屏 vimeo 视频播放后如何重定向 URL?

javascript - 使用 Angular 6 动态创建可点击的 div

angularjs - 如何防止 Angular-ui Accordion 在使用 Angular-UI 的可排序进行排序时切换

javascript - 观察 angularjs 中的值

c# - 如何使用简单注入(inject)器在 ASP.NET HttpModule 中正确注入(inject)构造函数/属性