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
)
  • containerRef is the ViewContainerRef that 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).

See Also

In this document