Улучшить эту документацию Просмотреть исходный код ngInclude
- директива в модуле ng
Обзор
Загружает, компилирует и включает внешний фрагмент HTML.
По умолчанию URL шаблона ограничен тем же доменом и протоколом, что и документ приложения. Это делается с помощью вызова $sce.getTrustedResourceUrl на нём. Чтобы загружать шаблоны с других доменов или протоколов, вы можете либо добавить их в свой список доверенных URL-адресов ресурсов, либо обработать их как надёжные значения. Обратитесь к строгому контекстному экранированию AngularJS.
Кроме того, политика «одного происхождения» браузера и политика совместного использования ресурсов (CORS) могут дополнительно ограничивать возможность успешной загрузки шаблона. Например, ngInclude не будет работать для кросс-доменных запросов во всех браузерах и для file:// доступа в некоторых браузерах.
Информация о директиве
- Эта директива создаёт новую область видимости.
- Эта директива выполняется на уровне приоритета -400.
Использование
- в качестве элемента:
<ng-include src="string" [onload="string"] [autoscroll="string"]> ... </ng-include>
- в качестве атрибута:
<ANY ng-include="string" [onload="string"] [autoscroll="string"]> ... </ANY>
- в качестве класса CSS:
<ANY class="ng-include: string; [onload: string;] [autoscroll: string;]"> ... </ANY>
Аргументы
| Параметр | Тип | Подробности |
|---|---|---|
| ngInclude | src | string | Выражение AngularJS, вычисляющее URL. Если источник — строковая константа, убедитесь, что вы заключили её в одиночные кавычки, например, |
| onload (необязательно) | string | Выражение, которое должно вычисляться при загрузке нового фрагмента. Примечание: При использовании onload на элементах SVG в IE11 браузер попытается вызвать функцию с именем onload в элементе window, что обычно приводит к ошибке «функция не определена». Чтобы исправить это, вы можете использовать data-onload или другой формат, который соответствует onload. |
| autoscroll (необязательно) | string | Определяет, нужно ли вызывать $anchorScroll для прокрутки области просмотра после загрузки содержимого. - If the attribute is not set, disable scrolling. - If the attribute is set without value, enable scrolling. - Otherwise enable scrolling only if the expression evaluates to truthy value. |
События
-
$includeContentRequested
Выдаётся каждый раз, когда запрашивается содержимое ngInclude.
Тип:
emitЦелевой объект:
область видимости, в которой был объявлен ngIncludeПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события.
src StringURL загружаемого содержимого.
-
$includeContentLoaded
Выдаётся каждый раз, когда содержимое ngInclude перезагружается.
Тип:
emitЦелевой объект:
текущая область видимости ngIncludeПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события.
src StringURL загружаемого содержимого.
-
$includeContentError
Выдаётся, когда HTTP-запрос шаблона возвращает ошибочный ответ (статус < 200 || статус > 299)
Тип:
emitЦелевой объект:
область видимости, в которой был объявлен ngIncludeПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события.
src StringURL загружаемого содержимого.
Анимации
| Анимация | Происходит |
|---|---|
| enter | при изменении выражения, в новом включённом фрагменте |
| leave | при изменении выражения, в старом включённом фрагменте |
Анимации enter и leave происходят одновременно.
Нажмите здесь, чтобы узнать больше о шагах, участвующих в анимации.Примеры
© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
https://code.angularjs.org/1.8.2/docs/api/ng/directive/ngInclude