您绝对可以定义模块,并将模块包含在应用程序级别,然后通过依赖项注入,您允许控制器使用它们所需的内容。
我有一个我正在开发的用于学习 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