ViewContainerRef
Stable Class
Обзор класса
class ViewContainerRef {
element : ElementRef
injector : Injector
parentInjector : Injector
clear() : void
get(index: number) : ViewRef
length : number
createEmbeddedView(templateRef: TemplateRef<C>, context?: C, index?: number) : EmbeddedViewRef<C>
createComponent(componentFactory: ComponentFactory<C>, index?: number, injector?: Injector, projectableNodes?: any[][]) : ComponentRef<C>
insert(viewRef: ViewRef, index?: number) : ViewRef
move(viewRef: ViewRef, currentIndex: number) : ViewRef
indexOf(viewRef: ViewRef) : number
remove(index?: number) : void
detach(index?: number) : ViewRef
}
Описание класса
Представляет контейнер, в который можно добавить один или несколько представлений (Views).
Контейнер может содержать два типа представлений. Представления хоста (Host Views), созданные путём экземпляризации Component через createComponent, и встроенные представления (Embedded Views), созданные путём экземпляризации Встроенного шаблона через createEmbeddedView.
Положение контейнера представлений (View Container) в содержащем представлении (View) задаётся якорем element. Каждый контейнер представлений может иметь только один якорь (Anchor Element), и каждый якорь может содержать только один контейнер представлений.
Корневые элементы представлений (Views), прикреплённых к этому контейнеру, становятся соседними с элементом якоря (Anchor Element) в отображаемом представлении (Rendered View).
Для доступа к ViewContainerRef элемента, можно либо разместить Directive, инжектированный с ViewContainerRef, на элементе, либо получить его через запрос ViewChild.
Подробности класса
element : ElementRef
Элемент якоря, который определяет местоположение этого контейнера в содержащем представлении.
injector : Injector
parentInjector : Injector
clear() : void
Уничтожает все представления (Views) в этом контейнере.
get(index: number) : ViewRef
Возвращает ViewRef для представления (View), расположенного в этом контейнере по указанному индексу.
length : number
Возвращает количество представлений (Views), в настоящее время прикреплённых к этому контейнеру.
createEmbeddedView(templateRef: TemplateRef<C>, context?: C, index?: number) : EmbeddedViewRef<C>
Экземпляризирует встроенное представление (Embedded View) на основе templateRef и вставляет его в этот контейнер по указанному index.
Если index не указан, новое представление будет вставлено в качестве последнего представления в контейнере.
Возвращает ViewRef для вновь созданного представления.
createComponent(componentFactory: ComponentFactory<C>, index?: number, injector?: Injector, projectableNodes?: any[][]) : ComponentRef<C>
Экземпляризирует единственный компонент Component и вставляет его представление хоста (Host View) в этот контейнер по указанному index.
Компонент экземпляризируется с помощью его ComponentFactory, который можно получить через ComponentFactoryResolver.
Если index не указан, новое представление будет вставлено в качестве последнего представления в контейнере.
Можно необязательно указать Injector, который будет использоваться в качестве родителя для компонента.
Возвращает ComponentRef представления хоста (Host View), созданного для вновь экземпляризованного компонента.
insert(viewRef: ViewRef, index?: number) : ViewRef
Вставляет представление (View), идентифицируемое ViewRef, в контейнер по указанному index.
Если index не указан, новое представление будет вставлено в качестве последнего представления в контейнере.
Возвращает вставленное ViewRef.
move(viewRef: ViewRef, currentIndex: number) : ViewRef
Перемещает представление (View), идентифицируемое ViewRef, в контейнер по указанному index.
Возвращает вставленное ViewRef.
indexOf(viewRef: ViewRef) : number
Возвращает индекс представления (View), указанного через ViewRef, внутри текущего контейнера или -1, если этот контейнер не содержит представления.
remove(index?: number) : void
Уничтожает представление (View), прикреплённое к этому контейнеру по указанному index.
Если index не указан, будет удалено последнее представление в контейнере.
detach(index?: number) : ViewRef
Используется вместе с insert для перемещения представления внутри текущего контейнера.
Если параметр index опущен, открепляется последнее ViewRef.
экспортировано из @angular/core/index, определено в @angular/core/src/linker/view_container_ref.ts
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v2.angular.io/docs/ts/latest/api/core/index/ViewContainerRef-class.html