2017-07-10 1 views
0

OK, donc je suis nouveau à angulaire et j'ai cherché des réponses à travers le web à ce problème. J'ai une erreur de fournisseur inconnue et je ne suis pas capable de trouver la bonne réponse J'ai essayé plusieurs réponses d'ici sur le débordement de pile et beaucoup d'autres endroits mais cela ne m'a pas aidé à trouver la bonne réponse pour cela.Un autre fournisseur INCONNU Angularjs

J'ai le Module.

var app = angular.module('app', ['ngRoute','app.student']).config(['$httpProvider', '$routeProvider', function ($httpProvider,$routeProvider) { 
//Various code 
}]); 

Voici mon contrôleur

angular.module('app.student', []).controller('StudentCtrl', ['StudentService', '$scope', '$http', function (StudentService, $scope, $http) { 
//Code 
}]); 

Et maintenant Mon service

angular.module('app.student', []).service('StudentService', ['$http', function ($http) { 
// Some More Code 
}]); 

Je suis encore nouveau dans cette langue, je l'ai à nouveau essayé plusieurs réponses sur Stackoverflow et aucune des réponses travaillent pour moi. J'ai donc décidé de demander de l'aide. Merci

P.S. Si vous avez besoin de plus de mon code, faites le moi savoir.

+0

Rem Ove les crochets [] des deux autres appels de module. Vous n'utilisez que les crochets dans la méthode du module lorsque vous le définissez pour la première fois. Sinon, vous l'omettez et utilisez simplement le nom pour référencer un module créé. Cela étant dit, vous avez créé trois modules différents (à cause des crochets): 'app' et 2 occurrences de 'app.student'. Je ne sais pas si vous vouliez que tous soient le même module ou non ... – Araymer

+0

"J'ai encore essayé plusieurs réponses sur Stackoverflow et aucune des réponses ne fonctionne pour moi" Dans le futur, dites-nous ce que vous avez essayé Nous ne vous donnons donc pas de solutions que vous avez déjà essayées. Cela nous aide à ne pas perdre notre temps - ou le vôtre. – Amy

+0

Amy, désolé je n'ai pas pensé à ça mais je le garderai en tête la prochaine fois que j'ai une question. Merci beaucoup pour tous les conseils. –

Répondre

0

Vous n'avez pas besoin d'avoir app.student comme une dépendance,

var app = angular.module('app', ['ngRoute']).config(['$httpProvider', '$routeProvider', function ($httpProvider,$routeProvider) { 
//Various code 
}]); 

votre code de contrôleur devrait être,

angular.module('app').controller('StudentCtrl', ['StudentService', '$scope', '$http', function (StudentService, $scope, $http) { 
//Code 
}]); 

et le service devrait être,

angular.module('app').service('StudentService', ['$http', function ($http) { 
// Some More Code 
}]); 
+0

Peut-être que le PO veut un module séparé? –

+0

Hey Sajeetharan, votre réponse m'a aidé à réaliser mon erreur, merci beaucoup! C'est exactement comme ça que je voulais que ça fonctionne. C'est un site très sympa! –

1

Vous créez deux fois le module app.student.

D'abord, vous créez votre module (puis vous créez également un contrôleur):

angular.module('app.student', []).controller('StudentCtrl', ['StudentService', '$scope', '$http', function (StudentService, $scope, $http) { 
    //Code 
}]); 

Ensuite, une fois qu'il est créé, juste le récupérer. Ne passez pas dans un tableau de dépendances, ou vous allez créer à nouveau:

angular.module('app.student').service('StudentService', ['$http', function ($http) { 
    // Some More Code 
}]); 
+0

Pourquoi est-ce downvoted? –

+0

Je n'ai pas downvote, mais je spécule qu'il a été downvoted parce que votre réponse est incomplète. Il ne devrait pas y avoir de dépendance à 'app.student', apparemment. – Amy

+0

@Amy Pourquoi ne devrait-il pas y avoir une dépendance sur un module séparé, si c'est comme cela que le PO veut structurer son application? La ligne 'var app = angular.module ('app', ['ngRoute', 'app.student'])' me fait penser que le module séparé est intentionnel. –