如何为angularjs分离不同文件中的控制器?
Posted
技术标签:
【中文标题】如何为angularjs分离不同文件中的控制器?【英文标题】:How to separate controllers in different files for angularjs? 【发布时间】:2015-09-14 15:28:34 【问题描述】:我有一个全局 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
文件中?我试过了,但是控制器不再工作了。
如果我将控制器提取到自己的文件中,我必须采取哪些步骤?
-
如何从 testController.js 中访问
var app
模块变量?
我是否必须将每个控制器作为新的<script src="js/testController.js"></script>
标记条目包含在我的html 模板中?这会很麻烦,因为我想将我的应用程序拆分为多个控制器,这会导致很多导入。
【问题讨论】:
您可以使用RequireJS来包含其他文件,也许这个博客会有所帮助:sitepoint.com/using-requirejs-angularjs-applications 为什么不将所有 js 文件合并到单个 app.js 中? How to create separate AngularJS controller files?的可能重复 【参考方案1】:你可以访问app
,只需声明它而不需要依赖:
var app = angular.module('myapp');
app.controller("testController", function()
);
是的,您需要在每个需要它的页面上包含testController.js
。
【讨论】:
@MedetTleukabiluly -- 我错过了问题的一部分吗? 我的意思是问题太简单了,答案也太简单了 @MedetTleukabiluly -- 所以你投反对票的原因是因为这个问题“简单”?以上是关于如何为angularjs分离不同文件中的控制器?的主要内容,如果未能解决你的问题,请参考以下文章