我正在尝试运行this示例但是我在exceptionLoggingService提供程序中注入$ exceptionHandler时遇到了困难,因为我处于strictDi = true
模式并且出现$exceptionHandler is not using explicit annotation and cannot be invoked in strict mode错误。
一些建议如何在提供者中执行注入?
var loggingModule = angular.module('loggingModule', []);
loggingModule.factory('traceService', function() {
return ({
print: printStackTrace
});
});
loggingModule.provider("$exceptionHandler", {
$get: function(exceptionLoggingService) {
return (exceptionLoggingService);
}
});
loggingModule.factory("exceptionLoggingService", ["$log", "$window", "traceService",
function($log, $window, traceService) {
function error(exception, cause) {
//
}
return (error);
}
]);
实际上我已经设法以这种方式运行代码,但我确实需要使用上面的示例。
loggingModule.provider('$exceptionHandler', function ExceptionLoggingService() {
this.$get = ['$log', '$window', 'traceService',
function($log, $window, traceService) {
function error(exception, cause) {
//
}
return (error);
}
];
});
答案 0 :(得分:0)
您是否尝试过在发布链接的错误中描述的明确注释?
loggingModule.provider("$exceptionHandler", {
$get: ['exceptionLoggingService', function(exceptionLoggingService) {
return (exceptionLoggingService);
}]
});