Spec-Zone.ru › Angular.js 1.8

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

  1. $compile
  2. провайдер в модуле ng

Обзор

Методы

  • directive(name, directiveFactory);

    Регистрация нового директива в компиляторе.

    Параметры

    Параметр Тип Описание
    name stringObject

    Имя директивы в верхнем регистре с маленькой буквы (например, ngBind что будет соответствовать ng-bind), или объект-карта директива, где ключи — имена, а значения — фабрики.

    directiveFactory function()Array

    Фабричная функция директива, подлежащая инъекции. Смотрите руководство по директивам и API компилятора для получения дополнительной информации.

    Возвращаемое значение

    ng.$compileProvider

    Текущий объект для продолжения цепочки вызовов.

  • component(name, options);

    Регистрация определения компонента в компиляторе. Это сокращение для регистрации специального типа директивы, представляющей собой автономный пользовательский компонент в вашем приложении. Такие компоненты всегда изолированы (т. е. scope: {}) и всегда ограничены элементами (т. е. restrict: 'E').

    Определения компонентов очень просты и не требуют такой конфигурации, как определение общих директива. Определения компонентов обычно содержат только шаблон и контроллер, который его поддерживает.

    Для упрощения определения компоненты навязывают лучшие практики, такие как использование controllerAs, bindToController. Они всегда имеют изолированную область видимости и ограничены элементами.

    Вот несколько примеров, как обычно определяются компоненты:

    var myMod = angular.module(...);
    myMod.component('myComp', {
      template: '<div>My name is {{$ctrl.name}}</div>',
      controller: function() {
        this.name = 'shahar';
      }
    });
    
    myMod.component('myComp', {
      template: '<div>My name is {{$ctrl.name}}</div>',
      bindings: {name: '@'}
    });
    
    myMod.component('myComp', {
      templateUrl: 'views/my-comp.html',
      controller: 'MyCtrl',
      controllerAs: 'ctrl',
      bindings: {name: '@'}
    });
    

    Для получения дополнительных примеров и подробного руководства, обратитесь к руководству по компонентам.


    Также см. $compileProvider.directive().

    Параметры

    Параметр Тип Описание
    name stringObject

    Имя компонента в верхнем регистре с маленькой буквы (например, myComp что будет соответствовать <my-comp>), или объект-карта компонентов, где ключи — имена, а значения — объекты определения компонентов.

    options Object

    Объект определения компонента (упрощенный объект определения директивы), со следующими свойствами (все необязательные):

    • controller – {(string|function()=} – конструктор контроллера, который должен быть связан с только что созданной областью видимости, или имя зарегистрированного контроллера, если передано в виде строки. По умолчанию пустая noop функция.
    • controllerAs – {string=} – идентификатор имени для ссылки на контроллер в области видимости компонента. Если задано, контроллер будет опубликован в области видимости под именем controllerAs. Если не указано, по умолчанию $ctrl.
    • template – {string=|function()=} – html-шаблон в виде строки или функция, возвращающая html-шаблон в виде строки, который должен использоваться в качестве содержимого этого компонента. По умолчанию пустая строка.

      Если template является функцией, то она вызывается со следующими локалями:

      • $element - Текущий элемент
      • $attrs - Текущий объект атрибутов элемента
    • templateUrl – {string=|function()=} – путь или функция, возвращающая путь к html-шаблону, который должен использоваться в качестве содержимого этого компонента.

      Если templateUrl является функцией, то она вызывается со следующими локалями:

      • $element - Текущий элемент
      • $attrs - Текущий объект атрибутов элемента
    • bindings – {object=} – определяет связи между атрибутами DOM и свойствами компонента. Свойства компонента всегда связаны с контроллером компонента, а не с областью видимости. См. bindToController.

    • transclude – {boolean=} – включает или отключает включение содержимого. Отключено по умолчанию.
    • require - {Object<string, string>=} - требует контроллеров других директива и связывает их с контроллером этого компонента. Ключи объекта определяют имена свойств, под которыми требуемые контроллеры (значения объекта) будут связаны. См. require.
    • $... – дополнительные свойства для добавления к фабрике директивы и конструктору контроллера. (Это используется маршрутизатором компонентов для аннотирования)

    Возвращаемое значение

    ng.$compileProvider

    сам провайдер компилятора для продолжения цепочки вызовов.

  • aHrefSanitizationTrustedUrlList([regexp]);

    Получение или переопределение стандартного регулярного выражения, используемого для определения доверенных безопасных URL-адресов во время санитизации a[href].

    Санитизация является мерой безопасности, призванной предотвратить атаки XSS через html-ссылки.

    Любой URL-адрес, который собирается назначить a[href] с помощью привязки данных, сначала нормализуется и преобразуется в абсолютный URL-адрес. Затем URL-адрес сопоставляется с регулярным выражением aHrefSanitizationTrustedUrlList. Если совпадение найдено, исходный URL записывается в DOM. В противном случае абсолютный URL-адрес префикс 'unsafe:' и только потом записывается в DOM.

    Параметры

    Параметр Тип Описание
    regexp
    (необязательно)
    RegExp

    Новое регулярное выражение для доверия URL.

    Возвращаемое значение

    RegExpng.$compileProvider

    Текущее регулярное выражение, если вызов без значения, или текущий объект для продолжения цепочки вызовов в противном случае.

  • aHrefSanitizationWhitelist();

    Устарело: (с версии 1.8.1)

    Этот метод устарел. Используйте aHrefSanitizationTrustedUrlList вместо него.

  • imgSrcSanitizationTrustedUrlList([regexp]);

    Получение или переопределение стандартного регулярного выражения, используемого для определения доверенных безопасных URL-адресов во время санитизации img[src].

    Санитизация является мерой безопасности, призванной предотвратить атаки XSS через html-ссылки.

    Любой URL-адрес, который собирается назначить img[src] с помощью привязки данных, сначала нормализуется и преобразуется в абсолютный URL-адрес. Затем URL-адрес сопоставляется с регулярным выражением imgSrcSanitizationTrustedUrlList. Если совпадение найдено, исходный URL записывается в DOM. В противном случае абсолютный URL-адрес префикс 'unsafe:' и только потом записывается в DOM.

    Параметры

    Параметр Тип Описание
    regexp
    (необязательно)
    RegExp

    Новое регулярное выражение для доверия URL.

    Возвращаемое значение

    RegExpng.$compileProvider

    Текущее регулярное выражение, если вызов без значения, или текущий объект для продолжения цепочки вызовов в противном случае.

  • imgSrcSanitizationWhitelist();

    Устарело: (с версии 1.8.1)

    Этот метод устарел. Используйте imgSrcSanitizationTrustedUrlList вместо него.

  • debugInfoEnabled([enabled]);

    Вызовите этот метод, чтобы включить/выключить различные отладочные сведения во время выполнения в компиляторе, такие как добавление информации о привязке и ссылки на текущую область видимости к элементам DOM. Если включено, компилятор добавит следующее к элементам DOM, связанным с областью видимости:

    • ng-binding класс CSS
    • ng-scope и ng-isolated-scope классы CSS
    • $binding свойство данных, содержащее массив выражений привязки
    • Свойства данных, используемые методами scope()/isolateScope() для возврата области видимости элемента.
    • Комментарии-заполнители будут содержать информацию о том, какая директива и привязка вызвали заполнитель. Например, <!-- ngIf: shouldShow() -->.

    В производственной среде рекомендуется отключить эту функцию для повышения производительности. Дополнительные сведения см. в разделе Отключение отладочных данных.

    Значение по умолчанию — true.

    Параметры

    Параметр Тип Описание
    enabled
    (необязательно)
    boolean

    обновление состояния debugInfoEnabled, если предоставлено, в противном случае просто возвращает текущее состояние debugInfoEnabled

    Возвращаемое значение

    *

    текущее значение, если используется как getter, или сам объект (цепочка вызовов), если используется как setter

  • strictComponentBindingsEnabled([enabled]);

    Вызовите этот метод, чтобы включить/отключить проверку строгих привязок компонентов. Если включено, компилятор будет проверять, что все привязки области видимости/контроллера для директивы / компонента, которые не установлены как необязательные с помощью ?, должны быть предоставлены при создании директивы. Если они не предоставлены, компилятор выбросит ошибку $compile:missingattr.

    Значение по умолчанию — false.

    Параметры

    Параметр Тип Описание
    enabled
    (необязательно)
    boolean

    обновить состояние strictComponentBindingsEnabled, если задано, в противном случае вернуть текущее состояние strictComponentBindingsEnabled.

    Возвращаемое значение

    *

    текущее значение, если используется как getter, или само значение (цепочки), если используется как setter

  • onChangesTtl(limit);

    Устанавливает количество раз, когда $onChanges хуки могут вызывать новые изменения, прежде чем отказаться и предположить, что модель нестабильна.

    Текущее значение по умолчанию — 10 итераций.

    В сложных приложениях возможно, что зависимости между $onChanges хуками и привязками приведут к нескольким итерациям вызовов этих хуков. Однако, если приложение требует более 10 итераций для стабилизации, необходимо изучить причину непрерывных изменений модели во время выполнения $onChanges хука.

    Увеличение TTL может повлиять на производительность, поэтому не следует изменять его без соответствующего обоснования.

    Параметры

    Параметр Тип Описание
    limit number

    Количество итераций $onChanges хука.

    Возвращаемое значение

    numberobject

    текущий предел (или this если вызов как setter для цепочки)

  • commentDirectivesEnabled(enabled);

    Указывает компилятору, должны ли быть скомпилированы директивы в комментариях. Значение по умолчанию — true.

    Вызов этой функции с false отключает компиляцию директив в комментариях для всего приложения. Это приводит к повышению производительности компиляции, так как компилятор не проверяет комментарии при поиске директив. Однако это следует использовать только в том случае, если вы уверены, что директивы в комментариях не используются в приложении (включая сторонние директивы).

    Параметры

    Параметр Тип Описание
    enabled boolean

    false если компилятор может игнорировать директивы в комментариях

    Возвращаемое значение

    booleanobject

    текущее значение (или this если вызов как setter для цепочки)

  • cssClassDirectivesEnabled(enabled);

    Указывает компилятору, должны ли быть скомпилированы директивы в классах элементов. Значение по умолчанию — true.

    Вызов этой функции с false отключает компиляцию директив в классах элементов для всего приложения. Это приводит к повышению производительности компиляции, так как компилятор не проверяет классы элементов при поиске директив. Однако это следует использовать только в том случае, если вы уверены, что директивы в классах элементов не используются в приложении (включая сторонние директивы).

    Параметры

    Параметр Тип Описание
    enabled boolean

    false если компилятор может игнорировать директивы в классах элементов

    Возвращаемое значение

    booleanobject

    текущее значение (или this если вызов как setter для цепочки)

  • addPropertySecurityContext(elementName, propertyName, ctx);

    Определяет контекст безопасности для свойств DOM, связанных с ng-prop-*.

    Параметры

    Параметр Тип Описание
    elementName string

    Имя элемента или '*' для соответствия любому элементу.

    propertyName string

    Имя свойства DOM.

    ctx string

    Контекст безопасности $sce, в котором это значение безопасно для использования, например $sce.URL

    Возвращаемое значение

    object

    this для цепочки

© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
https://code.angularjs.org/1.8.2/docs/api/ng/provider/$compileProvider

Spec-Zone.ru

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