我们可以在 app.controller 级别而不是 app.module 级别定义 angular 依赖项吗?

can we define angular dependencies in app.controller level rather then in app.module level?

我正在按照这个例子 ui.grid 网站:http://ui-grid.info/docs/#/tutorial/203_pinning

var app = angular.module('app', ['ngTouch', 'ui.grid', 'ui.grid.pinning']);


app.controller('MainCtrl', ['$scope', '$http', '$log', function ($scope, $http, $log) {
  $scope.gridOptions = {};

我正在使用 app.js 文件来定义我在所有控制器等中使用的通用依赖项(整个应用程序)

var app = angular.module("sampleApp", ["ngResource", "ui.router", "ngTouch", "ui.grid", "'ui.grid.pinning'"]);

如您所见,"ui.grid" 和 "ui.grid.pinning" 是在应用程序或模块级别定义的。我所有 controllers/services 都可以使用它。

问题: 有没有办法在控制器级别定义这两个依赖项?如下所示,因为我不会在其他 controllers/pages 中使用它...... 现在我在我的编辑器中使用下面的代码挤压下划线,我认为这是因为点(。)。它说{预期....

 app.controller("empController", ['$scope',  
 'ui.grid', 'ui.grid.pinning',
             function ($scope, ui.grid, ui.grid.pinning) {

您可以在控制器中使用显式 $injector

app.controller("empController", function empController($scope, ui.grid, ui.grid.pinning){
    empController.inject = ['$scope','ui.grid','ui.grid.pinning'];
}