angulaire: Erreur: Fournisseur inconnu pendant module.config ()
- Je obtenir Uncaught Error: Unknown provider: testProvider from myApp
dans le code ci-dessous:
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);
})
});
Plunker lien: http://plnkr.co/edit/zcIHRn?p=preview
source d'informationauteur Krishna Srinivas
Vous devez vous connecter pour publier un commentaire.
Un appel à
est vraiment un appel à
(Voir mon l'article wiki sur l'injection de dépendance pour plus de détails.)
Et depuis
config
blocs exécuter dans l'ordre où ils ont été déclarés, il vous suffit de déplacer la déclaration de votre fournisseur d'accès à au-dessus du point où il est utilisé. Vous verrez souvent il écrit quelque chose comme ceci:Un exemple: http://plnkr.co/edit/AxTnGv?p=preview
Si vous voulez vraiment garder les préoccupations distinctes, vous pouvez créer un nouveau module et de définir une dépendance:
Exemple: http://plnkr.co/edit/PWtDFG?p=preview
J'ai créé un renforcement exemple basé sur Michelle premier exemple, espérons que cela pourrait être utile.
lien: http://jsfiddle.net/zhangyue1208/ysq3m/1826/