依赖项将空模块注入 Angular 中的控制器

Dependency Injecting an empty module into a controller in Angular

我正在尝试将一个模块依赖注入到另一个模块中——前者只是一个空模块。

angular.module('module1', []);
angular.module('module2', [])
.controller('Module2Ctrl', ['module1', '$scope', function (module1, $scope) {
  $scope.expression = 'hello!';
}]);

HTML:

<html ng-app="module2">
  <body ng-controller="Module2Ctrl">
    <h1>{{expression}}</h1>
  </body>

</html>

我收到了可怕的 Unknown provider: module1Provider <- module1 <- Module2Ctrl 消息。

这是怎么回事?我相信一切都按应有的方式定义——尽管 module1 没有定义,但我无法在任何地方找到有关什么会阻止它工作的信息。

Plnkr:http://plnkr.co/edit/goMVFRNuPgG6iIpGYI1Y?p=preview

谢谢 :-)

angular.module不能注入一个controller,只能注入一个angular.module到另一个模块。

angular.module('module2', ['module1'])

你永远不应该那样做 angular。只有 angular 组件是可注入的,如服务、控制器、工厂、过滤器、提供者等。

要在页面上初始化 angular,您可以 angular.bootstrap

angular.bootstrap(document,["module2"])

您注入提供者(例如工厂、服务等),而不是模块。删除 module1 注入,它将起作用。您正在考虑做的可能是将 module2 声明为 module1 的模块依赖项:

angular.module('module1', ['module2']);

然后是ng-app="module".