Page 132 - AngularJS权威教程
P. 132

112  第 13 章  依赖注入


             13.4.4  instantiate()

                 instantiate()方法可以创建某个JavaScript类型的实例。它会通过new操作符调用构造函数,
             并将所有参数都传递给构造函数。它可以接受两个参数。
                  Type(函数)

                 构造函数。
                  locals(对象,可选)

                 这是一个可选的参数,提供了另一种传递参数的方式。
                 instantiate()方法返回Type的一个新实例。


             13.4.5  invoke()

                 invoke()方法会调用方法并从$injector中添加方法参数。
                 invoke()方法接受三个参数。

                 fn(function)
                 这个函数就是要调用的函数。这个函数的参数由函数声明设置。

                 self (object-可选)

                 self参数允许我们设置调用方法的this参数。
                 locals (object-可选)
                 这个可选参数提供另一种方式在函数被调用时传递参数名给该函数。

                 invoke()方法返回fn函数返回的值。


             13.5  ngMin

                 上面介绍了三种声明依赖注入的方式,可以在定义函数时选择任意一种合适的方式。但在实
             际生产过程中,当代码体积变得非常庞大时,写代码还要关心参数顺序将是一个耗费心力的工作。

                 通过使用ngMin这个工具,能够减少我们定义依赖关系所需的工作量。ngMin是一个为
             AngularJS应用设计的预压缩工具,它会遍历整个AngularJS应用并帮助我们设置好依赖注入。
                 例如,它会将如下代码:

                 angular.module('myApp', [])
                 .directive('myDirective', function($http) { })
                 .controller('IndexController', function($scope, $q) {
                 });
                 转换成下面的形式:

                 angular.module('myApp', [])
                 .directive('myDirective', ['$http', function ($http) { }])
                 .controller('IndexController', [ '$scope', '$q',function ($scope, $q) {} ]);
   127   128   129   130   131   132   133   134   135   136   137