在AngularJS中的可选依赖项

9 浏览
0 Comments

在AngularJS中的可选依赖项

我正在尝试在AngularJS中实现一个控制器,该控制器在多个页面中使用。它使用了一些服务。其中一些服务在所有页面上都加载,而其他一些则不是。我的意思是这些服务在不同的文件中定义,并且这些文件是独立加载的。但是如果我不在所有页面上加载这些服务,就会出现错误:

Error: Unknown provider: firstOtionalServiceProvider <- firstOtionalService

所以,我需要在所有页面上加载脚本。我可以在Angular中将依赖声明为可选的吗?例如:

myApp.controller('MyController', ['$scope', 'firstRequiredService', 'secondRequiredService', 'optional:firstOptionalService', 'optional:secondOptionalService', function($scope, firstRequiredService, secondRequiredService, firstOptionalService, secondOptionalSerivce){
    // 无需检查,因为firstRequiredService不能为空
    firstRequiredService.alwaysDefined();
    // 如果依赖未解析,我希望Angular将null设置为参数并检查
    if (firstOptionalService) {
        firstOptionalService.mayBeUndefinedSoCheckNull();
    }
}]);

0