我试图在多个页面中使用的AngularJS中实现一个控制器。它利用一些服务。其中一些是在所有页面上加载的,有些则不是。我的意思是它在不同的文件中定义,并且这些文件是独立加载的。但是,如果我不能在所有的网页加载这些服务我得到错误:AngularJS中的可选依赖关系
Error: Unknown provider: firstOtionalServiceProvider <- firstOtionalService
所以,我需要的所有网页上加载脚本。我可以在Angular中声明依赖项作为可选项吗?例如:
myApp.controller('MyController', ['$scope', 'firstRequiredService', 'secondRequiredService', 'optional:firstOptionalService', 'optional:secondOptionalService', function($scope, firstRequiredService, secondRequiredService, firstOptionalService, secondOptionalSerivce){
// No need to check, as firstRequiredService must not be null
firstRequiredService.alwaysDefined();
// If the dependency is not resolved i want Angular to set null as argument and check
if (firstOptionalService) {
firstOptionalService.mayBeUndefinedSoCheckNull();
}
}]);
谢谢!正是我需要的。我正在使用最新的Angular,所以请使用'has'! – molaccha