一尘不染

有人可以为AngularJS中的$ controller服务提供用例吗?

angularjs

Angularjs文档给出$ controller服务的用法如下: $controller(constructor, locals);

任何人都可以将重点放在这两个方面:

  1. 何时使用 $ controller 服务。请提供一些用例。
  2. 有关传递给它的’locals’参数的详细信息。

阅读 202

收藏
2020-07-04

共1个答案

一尘不染

您可以创建将在$ scope上执行的通用函数,并将其命名为一个控制器'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控制器的范围。

2020-07-04