【问题标题】:Angularjs routing controller from another module来自另一个模块的Angularjs路由控制器
【发布时间】:2016-01-27 09:35:22
【问题描述】:

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

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

每个文件夹都有一个 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 时,我可以将另一个模块的控制器连接到注入此模块的特定控制器吗?

【问题讨论】:

  • 你试过运行这个,你得到了什么错误

标签: javascript angularjs node.js routes


【解决方案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]);

【讨论】:

  • 如果包含的模块我可以使用其他模块中的任何控制器?那么两个同名的控制器呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-10
  • 1970-01-01
  • 2016-08-01
  • 2016-05-16
  • 1970-01-01
  • 2016-11-10
  • 2013-08-29
相关资源
最近更新 更多