我正在尝试依赖注入另一个模块 - 前者只是一个空模块。
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
谢谢:-)
答案 0 :(得分:1)
angular.module
无法在controller
内注入,只有一个angular.module
可以在另一个模块中注入。
angular.module(&#39; module2&#39;,[&#39; module1&#39;])
你永远不应该那么棱角分明。只有角度组件可以注入,如服务,控制器,工厂,过滤器,提供商等。
要在页面上初始化角度,您可以执行angular.bootstrap
angular.bootstrap(document,["module2"])
答案 1 :(得分:1)
您注入提供者(例如工厂,服务......),而不是模块。删除module1注入,它将工作。你正在考虑做的事情可能是将module2声明为module1的模块依赖:
angular.module('module1', ['module2']);
然后ng-app="module"
。