我正在Ionic应用程序中实现全局错误处理。我想收到一个IonicPopup,告诉我发生了错误。对于errorExceptionHandler,我基于现有的解决方案创建了一个新的配置,该解决方案将警报保存为全局错误处理。
angular
.module('MyApp', ['ionic'])
.config(function ($provide, $ionicPopup) {
$provide.decorator('$exceptionHandler', ['$delegate', function ($delegate) {
return function (exception, cause) {
$delegate(exception, cause);
//Alert works fine
alert(exception.message);
//$ionicPopup will follow here
};
}]);
})
这立即导致了以下错误。
angular.js:68未捕获错误:[$injector:modulerr]未能实例化模块应用程序,原因是:错误:[$injector:unp]未知提供者:$ionicPopup
我在这里错过了什么?
为什么要在配置函数中注入$ionicPopup,而必须在controller/factory/service
中注入它
http://ionicframework.com/docs/api/service/$ionicPopup/
config
函数接受providers
,您只能注入一个提供程序,如果您需要的话……您可以执行以下操作。
angular.module('myApp').config(function () {
var injector = angular.injector(['ng']),
ionicPopup= injector.get('$ionicPopup'),
});