我試圖在多個頁面中使用的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