当前位置: 首页 > 面试题库 >

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

裴劲
2023-03-14
问题内容

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

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

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

问题答案:

您可以创建将在$ 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控制器的范围。



 类似资料:
  • 问题内容: 有人可以提供范围$ destroy事件的示例吗?这是来自http://docs.angularjs.org/api/ng.$ro​​otScope.Scope#$destroy的参考文档 $ destroy() 从父范围中删除当前范围(及其所有子级)。删除意味着对$ digest()的调用将不再传播到当前作用域及其子级。删除还意味着当前范围可以进行垃圾回收。 $ destroy()通常

  • 我必须在具有OpenSAML2.5.1(旧版本的cas)的代码库上实现SAML2.0,不幸的是,我无法使用spring saml安全扩展(它使用了新版本的opensaml)。我已经研究了spring扩展如何处理授权请求/响应,并在一定程度上对其进行了反向工程。我能够从sp呼叫idp(sso圈)并尝试登录,但在提交时出现500个错误:原因:无法进行单点登录或联合。 是否有任何示例java opens

  • 所以我对web开发还是个新手,现在我和我的一个面向web的朋友开始了一个项目,他给了我各种各样的框架。我们在做Vuejs,jade,stylus和Jeet。对于一个新手来说,这当然是非常混乱的,因为没有Vuejs示例使用jade,没有jade示例使用Vuejs,等等。 然而,对于这个项目,我们需要一个可以处理对Google maps的api调用、保存东西等的后端。我们两个都没有这样做的经验,我尝试

  • 问题内容: 我正在尝试使用以下方式提供SVG地图: 在Firefox中,这会导致插件提示。如果我重命名地图。svg映射。xml,它可以正确显示图像。我认为这是因为Django的开发服务器(特别是django.views.static.serve)没有为svg提供正确的mime类型。这是问题吗?如果是,是否有补丁? 问题答案: 我目前没有可用的Django来进行测试,但看起来静态服务器使用mimet

  • 问题内容: 什么是之间的差异,并在AngularJS? 问题答案: 从AngularJS邮件列表中,我得到了一个很棒的线程,它解释了服务,工厂,提供者及其注入用法。汇编答案: 语法: 结果:在将serviceName声明为可注入参数时 ,将为您提供函数实例。 换句话说 。 工厂名称 语法: 结果:在将factoryName声明为可注入参数时,将为您提供 通过调用传递给module.factory的

  • 是否可以使用https协议在tomcat上部署apache cxf rs?我看到很多使用嵌入式jetty的例子,但我不想要它。 我应该在这里补充更多细节,我不知道具体怎么做。我有以下配置:在网络上。xml 在cxf-config.xml: 在服务器中也是如此。xml端口8443上启用了SSL,但我得到了一个例外:java。伊奥。IOException:端口8443的协议不匹配:引擎的协议是http