Comment appeler le module en usine à partir d'un autre module Angular.js?
J'ai des problèmes avec l'appel d'une usine dans un module à partir d'un autre module. Je suis à l'aide de angular.js + require.js.
Voici mon code
Module 1:
define(['angular', 'app/admin/app.admin', 'app/admin/account/services'], function (angular, app, services) {
app.controller('MainCtrl', ['$scope', 'providerService', function ($scope, providerService) {
$scope.showMe = false;
$scope.provider = providerService.Providers;
}]);
return app;
});
Module 2
define(['angular', 'app/admin/config/index'], function (angular) {
'use strict';
var service = angular.module('app.admin.account.services', []);
service.factory('providerService', ['app.admin.config',
function (config) {
var providers = [
{ name: 'google+', url: config.AUTH_URL + '/google' },
{ name: 'facebook', url: config.AUTH_URL + '/facebook' }
];
return {
Providers: providers
};
}
]);
return service;
});
Quand j'essaie d'appeler providerService dans le module 2 du module 1. J'ai eu une erreur de dire providerService n'est pas là. Quelqu'un peut-il me dire ce que j'ai fait de mal ici?
Acclamations
Où est l'application module défini? Il n'est pas dans ce code. Si vous ne l'avez pas déjà, vous devez déclarer
app.admin.account.services
et une dépendance de app
OriginalL'auteur Victor | 2013-05-22
Vous devez vous connecter pour publier un commentaire.
Il est parfaitement acceptable d'utiliser RequireJS et AngularJS ensemble, cependant, le terme "module" a une signification différente entre les deux et est un peu confus quand il s'agit de dépendances.
Dans RequireJS un "module" est typique d'un fichier Javascript qui encapsule un morceau de code. Vous définissez les dépendances à l'aide de RequireJS afin de passer dans/autour d'autres modules comme des dépendances et d'assurer le bon script de chargement de la commande.
Dans AngularJS le terme "module" signifie plus précisément un AngularJS "module", qui est un conteneur pour un certain nombre de contrôleur/services/directive etc. les déclarations.
Vous utilisez RequireJS pour définir l'ordre et les dépendances de vos fichiers de script. Vous aussi besoin de dire Angulaire qui "Angulaire modules" de votre module dépend essentiellement de l'importation de tous les contrôleurs/services/directives.
Dans 'app/admin/app.admin' assurez-vous de définir les dépendances de votre AngularJS module en passant par le " app.admin.compte.services' module en tant que second paramètre par exemple
Qui va importer le " app.admin.compte.services' module dans le module principal de faire votre
providerService
disponible pour l'injection de dépendances.OriginalL'auteur Brett Postin