依赖项将空模块注入 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"
.
我正在尝试将一个模块依赖注入到另一个模块中——前者只是一个空模块。
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"
.