如何在angularjs的不同文件中分离控制器?

mem*_*und 2 html javascript angularjs

我有一个globale routes控制器,并希望为每个页面模板创建一个额外的控制器.

它完成如下:

var app = angular.module('myapp', ['ngSanitize', 'ngRoute']);

app.config(function($routeProvider){
    $routeProvider
        .when("/test", {
            templateUrl:    "./templates/test.html",
            controller:     "testController"
        })
});

app.controller('test', function() {
    //...
});
Run Code Online (Sandbox Code Playgroud)

问题:如何将控制器移动到自己的testController.js文件中?我试过了,但是控制器不再工作了.

如果我在自己的文件中提取控制器,我必须采取哪些步骤?

  1. 如何var app从testController.js中访问模块变量?
  2. 我是否必须将每个控制器作为新<script src="js/testController.js"></script>标签条目包含在我的html模板中?这将是麻烦的,因为我想将我的应用程序分成许多控制器,这将导致许多导入.

tym*_*eJV 5

您可以app通过简单地声明它而不依赖于它来访问:

var app = angular.module('myapp');
app.controller("testController", function() {

});
Run Code Online (Sandbox Code Playgroud)

是的,您需要testController.js在每个需要它的页面上包含它.