©
本文档使用 PHP中文网手册 发布
创建一个注入函数,用于通过依赖注入的方式获取服务(参见 依赖注入)。
angular.injector(modules);
参数 | 类型 | 详述 |
---|---|---|
modules | Array.<string|Function> |
模块函数或它们的别名的列表。参见
|
function() |
注入函数。参见 $injector. |
典型用法
// create an injector
var $injector = angular.injector(['ng']);
// use the injector to kick off your application
// use the type inference to auto inject arguments, or use implicit injection
$injector.invoke(Function($rootScope, $compile, $document){
$compile($document)($rootScope);
$rootScope.$digest();
});
有时你要从Angular外部访问当前运行的Angular应用程序的注入器。也许,你想在应用启动后注入和编译一些标记,你可以使用独立的injector()
添加到JQuery/jqLite元素。参见 angular.element
.
这是相当少见的,可能的情况是第三方库作为注入标记。
在下面的例子中,一个包含ng-controller
指令的HTML新区块通过JQuery添加到文档末尾。我们随后编译并链接它到当前AngularJS域中。
var $div = $('<div ng-controller="MyCtrl">{{content.label}}</div>');
$(document.body).append($div);
angular.element(document).injector().invoke(Function($compile) {
var scope = angular.element($div).scope();
$compile($div)(scope);
});