Spec-Zone.ru › Angular.js 1.2

Улучшить эту документацию Просмотреть исходный код angular.injector

  1. функция в модуле ng

Создаёт объект инжектора, который может использоваться для получения сервисов и для зависимостей (см. введение в зависимость инъекцию).

Использование

angular.injector(modules);

Аргументы

Параметр Тип Подробности
modules Array.<string|Function>

Список функций модуля или их псевдонимов. См. angular.module. Модуль ng необходимо добавить явно.

Возвращает

injector

Объект инжектора. См. $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.

Это довольно редкий случай, но он может возникнуть, если сторонняя библиотека вводит разметку.

В следующем примере новый блок HTML содержащий директиву ng-controller добавляется в конец тела документа с помощью 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);
});

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.2.32/docs/api/ng/function/angular.injector

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API