AngularJS开发指南3:Angular主要组成部分以及如何协(3)

// retrieve an object from the injector by name
var serviceA = $injector.get('serviceA');      //从注入器查找serviceA对象,这时注入器会让实例serviceA的工厂函数factory创建一个新的实例serviceA返回

// always true because of instance cache
$injector.get('serviceA') === $injector.get('serviceA');

注入器真正强大之处在于让方法和类型能够通过注入器,请求到他们依赖的组件,而不需要自己加载依赖。

我们看看下面动态时间的这个例子:

<!doctype html>
<html ng-app="timeExampleModule">
  <head>
    <script src="https://code.angularjs.org/angular-1.1.0.min.js"></script>
    <script">
      angular.module('timeExampleModule', []).
        factory('time', function($timeout) {
           var time = {};
          (function tick() {
            time.now = new Date().toString();
            $timeout(tick, 1000);
          })();
          return time;
       });
    function ClockCtrl($scope, time) {
       $scope.time = time;
    }
    </script>
  </head>
  <body>
    <div ng-controller="ClockCtrl">
      Current time is: {{ time.now }}
    </div>
  </body>
</html>   

你只要把需要的依赖写在函数参数里。当AngularJS调用这个函数时,它会自动填充好需要的参数。这个例子中,当ng-controller实例化构造器ClockCtrl的时候,它自动提供了指明的依赖time实例对象。

AngularJS 命名空间

为了防止意外的命名冲突, AngularJS为可能冲突的对象名加以前缀"$"。所以请不要在你自己的代码里用"$"做前缀,以免和AngularJS代码发生冲突。

AngularJS权威教程 清晰PDF版 

希望你喜欢,并分享我的工作~带你走近AngularJS系列

带你走近AngularJS - 基本功能介绍

带你走近AngularJS - 体验指令实例

带你走近AngularJS - 创建自定义指令

如何在 AngularJS 中对控制器进行单元测试

在 AngularJS 应用中通过 JSON 文件来设置状态

AngularJS 之 Factory vs Service vs Provider

AngularJS —— 使用 ngResource、RESTful APIs 和 Spring MVC 框架提交数据

AngularJS 的详细介绍请点这里
AngularJS 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2948657f6bcf2caadbcd86e1de755bd0.html