在Angularjs中加载模块

时间:2017-04-20 15:48:39

标签: javascript angularjs angularjs-ng-route

我在尝试加载某些模块时遇到问题。

controller1.js

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

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"
        })
});

控制台说注射器有问题。 你能找到错误吗?

4 个答案:

答案 0 :(得分:2)

您必须添加angular-route.jsReference

  

ngRoute模块提供路由和深层链接服务   AngularJS应用程序的指令。

你如何解决?

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

angular.module('LPC', [])

答案 1 :(得分:0)

没有完整的错误记录我可以更精确,但我认为注入错误可能与您的模块没有实例化有关。

尝试改变

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

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

答案 2 :(得分:0)

更新您的代码以使用正确的模块名称:

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

如果你想使用单独的模块,你需要先将它初始化并将其注入主模块

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

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

我认为您的路由已正确设置。

答案 3 :(得分:0)

你需要传递LPC'模块到您的应用程序' mis_peliculas'它的模块使用' lista_peliculas_controller'控制器位于LPC'模块。

试试此代码

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

这应该是您的controller1.js,应该在定义应用之前定义。现在app.js应该看起来像

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"
            })
    });

这应该删除所有错误,你应该能够使用其他模块的控制器。

希望有所帮助