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



我有一个全局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() {
    //...
});

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

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

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

您可以通过简单地声明没有依赖关系的app来访问它:

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

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

最新更新