Spec-Zone.ru › Angular.js 1.7

Улучшить эту документацию Просмотреть исходный код $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

    Имя компонента в формате camelCase (например, 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

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

  • aHrefSanitizationWhitelist([regexp]);

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

    Санитизация — это мера безопасности, направленная на предотвращение атак XSS через HTML-ссылки.

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

    Параметры

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

    Новое регулярное выражение для белого списка URL-адресов.

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

    RegExpng.$compileProvider

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

  • imgSrcSanitizationWhitelist([regexp]);

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

    Санитизация — это мера безопасности, направленная на предотвращение атак XSS через HTML-ссылки.

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

    Параметры

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

    Новое регулярное выражение для белого списка URL-адресов.

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

    RegExpng.$compileProvider

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

  • debugInfoEnabled([enabled]);

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

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

    Возможно, вы захотите отключить это в продакшене для значительного повышения производительности. Дополнительные сведения см. в разделе Отключение отладочных данных.

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

    Параметры

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

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

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

    *

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

  • strictComponentBindingsEnabled([enabled]);

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

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

    Параметры

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

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

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

    *

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

  • onChangesTtl(limit);

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

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

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

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

    Параметры

    Параметр Тип Подробности
    limit number

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

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

    numberobject

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

  • commentDirectivesEnabled(enabled);

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

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

    Параметры

    Параметр Тип Подробности
    enabled boolean

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

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

    booleanobject

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

  • cssClassDirectivesEnabled(enabled);

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

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

    Параметры

    Параметр Тип Подробности
    enabled boolean

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

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

    booleanobject

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

  • addPropertySecurityContext(elementName, propertyName, ctx);

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

    Параметры

    Параметр Тип Подробности
    elementName string

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

    propertyName string

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

    ctx string

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

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

    object

    this для цепочки вызовов

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

Spec-Zone.ru

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