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

Angularjs routing controller from another module

本文关键字:Angularjs 路由 控制器 模块 另一个      更新时间:2023-09-26

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

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

每个文件夹都有一个索引.js文件,然后是其他文件,用于分隔每个控制器、每个指令等......

索引.js文件包含模块的定义。例如,对于上述业务模块的控制器:

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

这里没有依赖项,但可能存在任何依赖项。

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

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

然后,应用程序.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.controller并具有firstCtrl时一样?

您的模块文件:

   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]);