2017-04-20 1 views
1

J'ai un problème en essayant de charger certains modules.Chargement des modules dans Angularjs

controller1.js:

angular.module('LPC') 
    .controller('lista_peliculas_controller', ['$scope', function($scope) { 
     $scope.hola="hola peliculas"; 
    }]); 

Et app.js:

var app = angular.module('mis_peliculas', []); 

app.config(function($routeProvider){ 
    $routeProvider 
     .when("/pagina_principal",{ 
      templateUrl: "views/pagina_principal.html", 
      controller: "lista_peliculas_controller" 
     }) 
     .when("/lista_peliculas",{ 
      templateUrl: "views/lista_peliculas.html", 
      controller: "lista_peliculas_controller" 
     }) 
     .when("/lista_series",{ 
      templateUrl: "views/lista_series.html", 
      controller: "lista_series_controller" 
     }) 
     .otherwise({ 
      redirectTo: "/pagina_principal" 
     }) 
}); 

La console indique qu'il ya un problème avec l'injecteur. Pouvez-vous trouver l'erreur?

Répondre

2

Vous devez ajouter angular-route.js. Reference

Le module ngRoute fournit des services de routage et deeplinking et directives pour les applications de AngularJS.

Comment le réparer?

var app = angular.module('mis_peliculas', ['ngRoute','LPC']); 

Et

angular.module('LPC', []) 
+0

Cela a fonctionné, merci beaucoup, il semble que le bug était par ngRoute –

0

sans le journal complet de l'erreur je ne peux pas être plus précis, mais je pense que l'erreur d'injection pourrait être lié à votre module pas instancié.

essayer de changer

angular.module('LPC') //here you get a reference to a module, that could cause your error 

à

angular.module('LPC', []) //here you instantiate a module 
0

Mettez à jour votre code pour utiliser le nom du module droite:

angular.module('mis_peliculas') 
    .controller('lista_peliculas_controller', ['$scope', function($scope) { 
     $scope.hola="hola peliculas"; 
    }]); 

et si vous souhaitez utiliser des modules séparés, vous devez initiez-le d'abord et injectez-le dans votre module principal

angular.module('LPC',[]) 
    .controller('lista_peliculas_controller', ['$scope', function($scope) { 
     $scope.hola="hola peliculas"; 
    }]); 

var app = angular.module('mis_peliculas', ['LPC']); 

Je suppose que votre routage est déjà défini correctement.

0

Vous devez transmettre le module 'LPC' au module 'mis_peliculas' de votre application pour qu'il utilise le contrôleur 'lista_peliculas_controller' qui se trouve dans le module 'LPC'.

Essayez ce code

angular.module('LPC',[]) 
    .controller('lista_peliculas_controller', ['$scope', function($scope) { 
     $scope.hola="hola peliculas"; 
    }]); 

Cela devrait être votre controller1.js et doit être défini avant de définir votre application. Maintenant, les app.js devrait ressembler à

var app = angular.module('mis_peliculas', ['LPC']); 

    app.config(function($routeProvider){ 
     $routeProvider 
      .when("/pagina_principal",{ 
       templateUrl: "views/pagina_principal.html", 
       controller: "lista_peliculas_controller" 
      }) 
      .when("/lista_peliculas",{ 
       templateUrl: "views/lista_peliculas.html", 
       controller: "lista_peliculas_controller" 
      }) 
      .when("/lista_series",{ 
       templateUrl: "views/lista_series.html", 
       controller: "lista_series_controller" 
      }) 
      .otherwise({ 
       redirectTo: "/pagina_principal" 
      }) 
    }); 

Cela devrait éliminer toutes les erreurs et vous devriez être en mesure d'utiliser le contrôleur d'un autre module.

Espérons que cela aide