2016-03-29 7 views
0

Ich implementiere die globale Fehlerbehandlung in einer Ionic-Anwendung. Ich möchte eine IonicPopup erhalten, die mir mitteilt, dass ein Fehler aufgetreten ist. Für den errorExceptionHandler habe ich eine neue Konfiguration basierend auf einer vorhandenen Lösung erstellt, die eine Warnung als globale Fehlerbehandlung enthält.

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 
      }; 
     }]); 
    }) 

Dies führte sofort zu dem folgenden Fehler.

angular.js:68 Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to: Error: [$injector:unpr] Unknown provider: $ionicPopup

Was fehlt mir hier?

+0

versuchen, Fabrik oder Service zu erstellen. –

Antwort

-1

Warum spritzen Sie $ ionicPopup innerhalb einer Config-Funktion, wenn Sie es in einem controller/factory/service

http://ionicframework.com/docs/api/service/ $ ionicPopup zu injizieren/

config Funktion akzeptiert providers, können Sie nur einen Anbieter injizieren, wenn überhaupt du brauchst es ... du könntest so etwas wie unten tun.

angular.module('myApp').config(function() { 
    var injector = angular.injector(['ng']), 
     ionicPopup= injector.get('$ionicPopup'), 
}); 
Verwandte Themen