在AngularJS中分离控制器
Separating Controllers in AngularJS
我试图将我的Angular控制器分离到不同的文件中。现在每个都是这样的
AddPropertyController.js
angular.module('myApp.controllers.addproperty', [])
.controller(...);
SearchController
angular.module('myApp.controllers.search', [])
.controller(...);
现在,我必须把每一个都包含在Angular的myApp中。通过:
angular.module('myApp', [
'myApp.controllers.search',
'myApp.controllers.addproperty'
])
我的问题是,有没有一种方法可以一次包含它们而不是单独添加它们?我的第一次尝试是将每个模块命名为相同的angular.module('myApp.controllers',…),然后只包括myApp。控制器。但这似乎不起作用……我想我问的是什么是最好的方法,有分离的控制器文件,但在一个模块。谢谢你的帮助!
查看angularjs文档中有关控制器的信息,并将它们添加到应用级模块…
例如你的代码:
var myApp = angular.module('myApp',[]);
myApp.controller('SearchController', ['$scope', function($scope) {
$scope.search = 'Hola!';
}]);
myApp.controller('AddPropertiesController', ['$scope', function($scope) {
$scope.props = [];
}]);
你基本上是将每个控制器附加到myApp实例,所以应用程序知道控制器
我会这样组织它们:
MyController1.js
var MyController1 = ['$scope', function($scope) {
}];
MyController2.js
var MyController2 = ['$scope', function($scope) {
}];
MyModule.js
var app = angular.module('MyModule',[]);
app.controller({
MyController1: MyController1,
MyController2: MyController2,
etc
});
这与Angular源代码本身的组织方式类似:
- AngularPublic.js
- ng指令
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 从控制器返回后Ajax启动事件激发
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 如何在单击复选框后调用控制器方法
- 在控制器和数据对象之间同步数据
- 将Javascript数组发送到控制器ASP.NET MVC
- 将 DOM 操作与 Angular 控制器分离 - 需要最佳实践
- 分离AngularJs控制器代码的最佳方法
- 如何分离代码:我的控制器是否做了太多工作
- 角度依赖注入,如果将控制器、服务等分离到单独的模块中
- 将控制器与与服务器交互的服务分离的任何好处
- 分离角度路由、控制器和服务
- 如何在不同的angularjs文件中分离控制器
- 如何将组件的控制器函数分离到不同的文件中
- 在AngularJS中分离控制器
- 如何在Backbone.js中将视图代码分离成模型和控制器
- AngularJS:在分离的控制器之间包含模块
- Angular:控制器与指令的交互,支持关注点分离
- 在Angular中,从分离视图控制器中改变事件的作用域变量