Unbekannter Provider beim Injizieren von Service in die Child-State-Auflösungsfunktion. Aber wenn eine Auflösung im Elternstatus definiert ist, funktioniert es einfach. Im Folgenden gibt es einige Codes Beispiel:UI-Router Unbekannter Anbieter für das Injizieren von Service in untergeordnete Statusauflösung
ich ein Servicemodul definiert
angular.module('services', [])
.factory('myService', function() {
// my service here
})
und initialisieren die App
var app = angular.module('app', ['services', 'ui.router']);
app.config(['$stateProvider', '$urlRouterProvider', function($stateProvider,
$urlRouterProvider) {
$stateProvider.state('wizard', {
url: '/wizard',
abstract: true
})
.state('wizard.step1', {
url: '/step1',
templateUrl: ... ,
resolve: {
name: function(myService) {
// do something with mySerice
}
},
controller: function(name) {
// controller codes here
}
})
}]);
Ich habe den Fehler Unbekannter Anbieter beschweren sich über myService im wizard.step1 lösen. Aber wenn ich eine zufällige Auflösung im Elternzustand hinzufügen, wie
$stateProvider.state('wizard', {
url: '/wizard',
abstract: true,
resolve: {
a: function() { return 1; }
}
})
dann funktioniert es ohne Fehler. Was passiert hier?
Ich kann nicht sehen, was los ist. Wenn Sie eine Geige erstellen, die das Problem zeigt, werde ich es versuchen. –
Stimmen Sie mit @StephenFriedrich überein, das sieht gut aus. Ich habe es in ein Plunk gesetzt: http://plnkr.co/edit/McZ97tJIuSIqnwRkDb8c?p=preview –
Könnte es sein, dass Sie eine ng-Controller in der HTML-Datei Teil? Wenn dies der Fall ist, wird angular versuchen, den Controller nach dem Laden der Ansicht zu instanziieren. An diesem Punkt wird "name" nicht mehr vorhanden sein, sodass Sie den Fehler erhalten. Siehe meine Antwort zu diesem: http://stackoverflow.com/questions/27023887/angularfire-0-9-resolve-with-ui-router – andyhasit