您绝对可以定义模块,并在应用程序级别包含您的模块,然后通过依赖注入您允许您的控制器使用他们需要的东西。
我有一个用于学习 Angular 的小型应用程序的概念证明示例(它很脏,我的操场):
http://plnkr.co/edit/1jGqaB00OznAUpyPZVT3
我的应用定义如下所示:
angular.module('myApp', ['ngResource','ui.bootstrap', 'myApp.services', 'myApp.servicesMovie', 'myApp.servicesSearch', 'myApp.servicesUtils', 'myApp.servicesMovieList'])
你可以看到我在我的应用程序中包含了一堆不同的模块,然后是一个从服务模块中获取一些服务的控制器示例:
function SearchCtrl($scope, $rootScope, $route, $timeout, $routeParams, $location, SearchService, MovieListService) { etc }
这是模块的定义之一(也有它的依赖项):
angular.module('myApp.servicesMovieList', ['myApp.services'])
关于模板,您可以定义它们并将它们包含在您的路由值中:
$routeProvider.when('/view1', {templateUrl: 'view1.html', controller: ViewCtrl});
$routeProvider.when('/movie/:id', {templateUrl: 'movie-detail.html', controller: MovieCtrl, resolve: MovieCtrl.resolve});
$routeProvider.when('/search/:q/:p', {templateUrl: 'movie-search.html', controller: SearchCtrl});
$routeProvider.when('/searchlist/:url/:p', {templateUrl: 'movie-search.html', controller: SearchCtrl});
$routeProvider.otherwise({redirectTo: '/view1'});
}])
或者当然你可以打电话给他们ng-include