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

标签 angularjs angularjs-service

Angularjs 文档给出了 $controller 服务的用法:$controller(constructor, locals);
任何人都可以关注以下两点:

  • 何时使用 $ Controller 服务。请提供一些用例。
  • 有关传递给它的“locals”参数的详细信息。
  • 最佳答案

    您可以将要在 $scope 上执行的通用函数创建到一个 Controller 中,可以命名为 '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;
    }]);
    

    并将这个 Controller 注入(inject)其他 Controller 让我们说'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 Controller 的作用域。

    关于angularjs - 有人可以提供 AngularJS 中 $controller 服务的用例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27866620/

    相关文章:

    angularjs - Angular 将服务属性绑定(bind)到 Controller 范围

    javascript - 无法从 $http promise 和 then() 代码中获取值未执行

    HTML 中的 JavaScript 多种功能

    javascript - AngularJS 范围未在指令中更新

    javascript - 如何检测用户是否通过链接、ctrl+r 或 ctrl+shift+r 重新加载到达网页

    javascript - Angular 1 的服务 promise

    javascript - 为什么要使用 Angular Service 来收集信息,而不仅仅是 $http?

    javascript - 如何将 $scope 对象获取到 Angular 服务

    angularjs - Firebase createUser() 不返回创建用户的 id

    angularjs - Jasmine : Expect $http. post() 尚未被调用