Je reçois Uncaught Error: Unknown provider: testProvider from myApp
dans le code ci-dessous:angulaire: Erreur: fournisseur inconnu pendant module.config()
test
est un fournisseur personnalisé.
angular.module('myApp', [])
.config(function (testProvider) {
testProvider.setPrefix("works: ");
});
code complet est ici:
angular.module('myApp', [])
.config(function (testProvider) {
testProvider.setPrefix("works: ");
});
angular.module('myApp')
.provider ("test", function() {
var prefix;
this.setPrefix = function(p) {
prefix = p;
}
this.$get = function() {
return {
log: function(msg) {
console.log (prefix + msg);
}
}
}
});
angular.module('myApp')
.controller ("myCtrl", function($scope, test) {
$scope.$watch ('myModel', function (newval) {
test.log(newval);
})
});
lien Plunker: http://plnkr.co/edit/zcIHRn?p=preview
+1 pour le lien wiki – Martijn
Je suis venu ici à la recherche de la façon d'obtenir une valeur injectée dans l'appel de configuration sur le module et a trouvé la réponse dans le lien wiki. J'avais précédemment lu que les blocs de configuration ne pouvaient être injectés qu'avec des fournisseurs et des constantes, je n'avais jamais entendu parler de constantes auparavant. J'ai juste supposé qu'ils n'étaient pas différents des valeurs. Merci pour le lien! – kelv
Notez la différence entre le nom enregistré du fournisseur ('test'), son nom lors de la configuration (' testProvider') et le nom de l'appel ('test'). Je ne me souviens pas avoir lu cela dans l'API. Je posterai ici si la référence apparaît. –