2.3 KiB
ContainerStrategy
ContainerStrategy is an abstract class exposed by @abp/ng.core package. There are two container strategies extending it: ClearContainerStrategy and InsertIntoContainerStrategy. Implementing the same methods and properties, both of these strategies help you define how your containers will be prepared and where your content will be projected.
API
ClearContainerStrategy is a class that extends ContainerStrategy. It lets you clear a container before projecting content in it.
constructor
constructor(
public containerRef: ViewContainerRef,
private index?: number, // works only in InsertIntoContainerStrategy
)
containerRefis theViewContainerRefthat will be used when projecting the content.
getIndex
getIndex(): number
This method return the given index clamped by 0 and length of the containerRef. For strategies without an index, it returns 0.
prepare
prepare(): void
This method is called before content projection. Based on used container strategy, it either clears the container or does nothing (noop).
ClearContainerStrategy
ClearContainerStrategy is a class that extends ContainerStrategy. It lets you clear a container before projecting content in it.
InsertIntoContainerStrategy
InsertIntoContainerStrategy is a class that extends ContainerStrategy. It lets you project your content at a specific node index in the container.
Predefined Container Strategies
Predefined container strategies are accessible via CONTAINER_STRATEGY constant.
Clear
CONTAINER_STRATEGY.Clear(containerRef: ViewContainerRef)
Clears given container before content projection.
Append
CONTAINER_STRATEGY.Append(containerRef: ViewContainerRef)
Projected content will be appended to the container.
Prepend
CONTAINER_STRATEGY.Prepend(containerRef: ViewContainerRef)
Projected content will be prepended to the container.
Insert
CONTAINER_STRATEGY.Insert(
containerRef: ViewContainerRef,
index: number,
)
Projected content will be inserted into to the container at given index (clamped by 0 and length of the containerRef).