Spec-Zone.ru › Angular.js 1.6

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

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

  • 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

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

    *

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

  • preAssignBindingsEnabled([enabled]);

    Вызов этого метода для включения/отключения присвоения привязок контроллерам директив до вызова конструктора контроллера. Если включено (true), компилятор присваивает значение каждой привязки свойствам объекта контроллера перед вызовом конструктора этого объекта.

    Если отключено (false), компилятор сначала вызывает конструктор, а затем присваивает привязки.

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

    Устарело: (с версии 1.6.0) (будет удалено в версии 1.7.0)

    Этот метод и возможность присваивать привязки перед вызовом конструктора контроллера будут удалены в версии 1.7.0.

    Параметры

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

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

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

    *

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

  • strictComponentBindingsEnabled([enabled]);

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

    Значение по умолчанию — 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 для цепочки)

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

Spec-Zone.ru

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