J'utilise un service angulaire avec une route où mon fichier de service est séparé. et je fais face à branchService est une erreur non définie dans la console. Voir le code dans Code Plunker Voici branchService.js:

 angular.module("myApp").service('branchService', ['$http', function ($http) {
    var link = "http://localhost:8008/";
    //----Get Dining Tables`enter code here`
    this.getBranches = function ($scope) {
        return $http({
            method: "GET",
            url: encodeURI(link + "Branch/GetBranches/"),
            headers: { 'Content-Type': 'application/json' }
        }).success(function (data) {
            console.log(data);
        }).error(function (data) {
            console.log(data);
        });
    };
}]);

Et myController.js est ici:

var app = angular.module("myApp", ['ngRoute']);

app.config(function ($routeProvider) {
    $routeProvider
        .when('/branches', {
            templateUrl: 'branches.html',
            controller: 'branchController'
        })

        .otherwise({
            redirectTo: '/branches'
        });
});

app.controller('branchController', ['$scope', '$filter', 'branchService', function ($scope, $filter, branchService) { 
  branchService.getBranches($scope);
}

Lorsque j'exécute Erreur: $ injector: erreur d'erreur du module modulerr s'affiche dans la console

0
user2644695 7 mars 2016 à 08:04

3 réponses

Meilleure réponse

Avant d'utiliser le service, injectez-le d'abord pour pouvoir l'utiliser

var app = angular.module("myApp", ['ngRoute', 'branchService']);

ÉDITER :

C'est le problème dans branchController.js:

var app = angular.module("myApp", ['ngRoute']);

Vous avez à nouveau injecté ngRoute en fait vous l'avez déjà ajouté dans app.js:

var app = angular.module("myApp",['ngRoute']);

Pour corriger: supprimer la route ng

var app = angular.module("myApp");
0
Sherlock 7 mars 2016 à 08:01

Avez-vous ajouté la référence de votre fichier Service.js de branche dans index.html ou quelle que soit votre première page.

Essayez simplement d'ajouter une référence après votre Controller.js.

1
Nilay Kothari 7 mars 2016 à 05:16

Tu dois faire ca. Votre service doit être chargé en premier avant votre contrôleur.

var app = angular.module("myApp", ['ngRoute']);

app.config(function ($routeProvider) {
    $routeProvider
        .when('/branches', {
            templateUrl: 'branches.html',
            controller: 'branchController'
        })

        .otherwise({
            redirectTo: '/branches'
        });
});

app.service('branchService', ['$http', function ($http) {
    var link = "http://localhost:8008/";
    //----Get Dining Tables`enter code here`
    this.getBranches = function ($scope) {
        return $http({
            method: "GET",
            url: encodeURI(link + "Branch/GetBranches/"),
            headers: { 'Content-Type': 'application/json' }
        }).success(function (data) {
            console.log(data);
        }).error(function (data) {
            console.log(data);
        });
    };
}]);

app.controller('branchController', ['$scope', '$filter', 'branchService', function ($scope, $filter, branchService) { 
  branchService.getBranches($scope);
}
0
John Roca 7 mars 2016 à 05:24