项目

容器策略

ContainerStrategy 是由 @abp/ng.core 包提供的抽象类。有两个容器策略继承自该类:ClearContainerStrategyInsertIntoContainerStrategy。这两个策略实现了相同的方法和属性,帮助您定义容器的准备方式以及内容投射的位置。

API

ClearContainerStrategy 是继承自 ContainerStrategy 的类。它允许您在投射内容之前清空容器

构造函数

constructor(
  public containerRef: ViewContainerRef,
  private index?: number, // 仅在 InsertIntoContainerStrategy 中生效
)
  • containerRef 是投射内容时将使用的 ViewContainerRef

getIndex

getIndex(): number

该方法返回经过 0containerReflength 限制后的给定索引。对于没有索引的策略,返回 0

prepare

prepare(): void

该方法在内容投射之前调用。根据所使用的容器策略,它会清空容器或不执行任何操作(noop)。

ClearContainerStrategy

ClearContainerStrategy 是继承自 ContainerStrategy 的类。它允许您在投射内容之前清空容器

InsertIntoContainerStrategy

InsertIntoContainerStrategy 是继承自 ContainerStrategy 的类。它允许您在容器的特定节点索引处投射内容

预定义容器策略

预定义的容器策略可通过 CONTAINER_STRATEGY 常量访问。

Clear

CONTAINER_STRATEGY.Clear(containerRef: ViewContainerRef)

在内容投射之前清空给定容器。

Append

CONTAINER_STRATEGY.Append(containerRef: ViewContainerRef)

投射的内容将附加到容器末尾。

Prepend

CONTAINER_STRATEGY.Prepend(containerRef: ViewContainerRef)

投射的内容将插入到容器开头。

Insert

CONTAINER_STRATEGY.Insert(
  containerRef: ViewContainerRef,
  index: number,
)

投射的内容将插入到容器的指定索引处(索引值受 0containerReflength 限制)。

另请参阅

在本文档中