Angularjs文档给出$ controller服务的用法如下: $controller(constructor, locals);
$controller(constructor, locals);
任何人都可以将重点放在这两个方面:
您可以创建将在$ scope上执行的通用函数,并将其命名为一个控制器'CommonCtrl'。
'CommonCtrl'
angular.module('app',[]).controller('CommonCtrl', ['$scope', function($scope){ var self = this; $scope.stuff1 = function(){ } $scope.stuff2 = function(){ } self.doCommonStuff = function(){ // common stuff here $scope.stuff1(); $scope.stuff2(); }; return self; }]);
并在其他控制器中注入此控制器,然后说“ TestCtrl1”,例如
angular.module('app',[]).controller('TestCtrl1', ['$scope','$controller', function($scope, $controller){ var commonCtrl = $controller('CommonCtrl',{$scope: $scope}); // passing current scope to commmon controller commonCtrl.doCommonStuff(); }]);
在这里,在$ controller服务的第二个参数中,我们传递了CommonCtrl所需的依赖关系。因此,doCommonStuff方法将使用TestCtrl1控制器的范围。