我试图添加ng-strict-di(以便在控制器/指令/等正确完成DI时帮助抛出错误)。
我有一个globalApp module
包含各种辅助指令/ httpInterceptors等。是否有可能以某种方式添加它?
我找到了这个解决方案,但是这个模块永远不会被引导到页面,它只是被注入页面上的子模块。
angular.bootstrap(document, ['globalApp'], {
strictDi: true
});
但这简直就是打破了,因为页面已经使用angular在每个特定页面上使用ng-app="app"
进行自举。
如何才能实现这一目标?
答案 0 :(得分:2)
当您向应用添加ng-strict-di
时,它会强制显式注释所有应用的依赖项(使用中)。
所以,如果你有:
<body ng-app="app">
<foo></foo>
</body>
在另一个模块中定义了foo
且没有明确的注释:
anotherModule.directive("foo", function(){
return {
template: "{{foo}}",
controller: function($scope){
$scope.foo = "foo"; // $scope is not explicitly annotated
}
};
});
然后这会引发错误。
换句话说,您不需要为每个模块添加ng-strict-di
- 仅在使用该模块中的服务,控制器,指令等的应用程序上。