Улучшить эту документацию Посмотреть исходный код ngInclude
- Директива в модуле ng
Обзор
Загружает, компилирует и включает внешний фрагмент HTML.
По умолчанию URL шаблона ограничен тем же доменным именем и протоколом, что и документ приложения. Это делается с помощью вызова $sce.getTrustedResourceUrl на нем. Чтобы загружать шаблоны с других доменов или протоколов, вы можете либо добавить их в белый список, либо завернуть их в качестве доверенных значений. Обратитесь к документации AngularJS по строгому контекстному экранированию.
Кроме того, политика «одинакового происхождения» браузера (Same Origin Policy) и политика совместного использования ресурсов из разных источников (CORS) (Cross-Origin Resource Sharing) могут дополнительно ограничивать успешную загрузку шаблона. Например, 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 | при изменении выражения, в новом include |
| leave | при изменении выражения, в старом include |
Анимации enter и leave происходят одновременно.
Нажмите здесь, чтобы узнать больше о шагах, участвующих в анимации.Примеры
© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.7.8/docs/api/ng/directive/ngInclude