2013-05-01 3 views
2

Je suis en train de configurer l'utilisateur en cours dans la partie config de mon application angularjs et je reçois l'erreur suivante:

Error: Unknown provider: $resource from manyminds 

Voilà comment je suis passage ressource:

myApp.config(function($routeProvider, $resource) { 

-je inclure le fichier de ressources avant de les inclure app.js

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular-resource.js"></script> 
<script src="assets/js/app.js"></script> 

Je ne N'obtenez pas cette erreur lors de la transmission de $ resource dans l'un de mes contrôleurs - uniquement lors de la transmission dans config. Est-ce que je ne peux pas utiliser $ resource dans config?

Répondre

3

De la AngularJS documentation on Modules (section "Chargement du module &") Dépendances:

Configuration blocks - get executed during the provider registrations and configuration phase. Only providers and constants can be injected into configuration blocks. This is to prevent accidental instantiation of services before they have been fully configured.

Ainsi, par exemple, vous pouvez injecter $routeProvider dans un bloc config, mais pas $route.

Si vous souhaitez que des informations soient disponibles pour un contrôleur avant qu'un itinéraire ne soit modifié, vous pouvez utiliser la clé resolve de $routeProvider.when; Si vous affectez une fonction à resolve, Angular s'assurera que la fonction est injectée (comme un contrôleur) lorsqu'elle exécute la fonction; si vous assignez une chaîne Angular va trouver l'injectable du même nom et injecter cela.

Questions connexes