Angularjs路由控制器来自另一个模块

时间:2016-01-27 09:35:22

标签: javascript angularjs node.js routes

我正在建立一个大应用程序,我的结构是这样的:

每个模块都有自己的控制器,指令等文件夹结构......

每个文件夹都有一个index.js文件,然后是其他文件来分隔每个控制器,每个指令等......

index.js文件包含模块的定义。例如,对于上面的businessModule的控制器:

angular.module('myCompany.businessModule.controllers', []);

这里没有依赖关系,但可能有任何依赖关系。

然后在firstCtrl.js中,我可以重用该模块并将控制器添加到它:

angular.module('myCompany.businessModule.controllers').controller('firstCtrl', function(){
});

然后app.js将我想要的所有模块聚合到依赖项数组中。

 angular.module('myApp', ['myCompany.businessModule', 'myCompany.anotherBusinessModule'],'ngRoute');

现在出现了包含其他模块视图的路线。 我的路线如下:

    var myApp = angular.module('myApp');
    myApp.config(function($routeProvider) {
        $routeProvider

            // route for the home page
            .when('/', {
                templateUrl : 'pages/home.html',
                controller  : 'mainController'
            })

            // route for the about page
            .when('/about', {
                templateUrl : 'pages/about.html',
                controller  : 'firstCtrl'
            })

    });

现在问题是我可以将一个控制器从另一个模块连接到具有此模块注入的特定控制器,就像myApp包含myCompany.businessModule.controllers并具有firstCtrl的情况一样吗?

1 个答案:

答案 0 :(得分:1)

您的模块文件:

   angular.module('myApp').config(function($routeProvider){
           $routeProvider

            // route for the home page
            .when('/', {
                templateUrl : 'pages/home.html',
                controller  : 'mainController'
            })

            // route for the about page
            .when('/about', {
                templateUrl : 'pages/about.html',
                controller  : 'firstCtrl'
            });
});

当您想要使用它时,请将其包含为依赖项。

angular.module('app',[other deps]);