mirror of https://github.com/abpframework/abp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.0 KiB
88 lines
2.0 KiB
5 years ago
|
# ContainerStrategy
|
||
|
|
||
|
`ContainerStrategy` 是 @abp/ng.core 包暴露出的抽象类. 有两种扩展容器扩展策略: `ClearContainerStrategy` 和 `InsertIntoContainerStrategy`. 它们实现了相同的方法和属性,这两种策略都可以帮助你定义容器的准备方式和内容的投影位置.
|
||
|
|
||
|
## API
|
||
|
|
||
|
`ClearContainerStrategy` 是一个扩展了 `ContainerStrategy` 的类. 它允许你**将内容投影之前清除容器**.
|
||
|
|
||
|
### 构造函数
|
||
|
|
||
|
```js
|
||
|
constructor(
|
||
|
public containerRef: ViewContainerRef,
|
||
|
private index?: number, // works only in InsertIntoContainerStrategy
|
||
|
)
|
||
|
```
|
||
|
|
||
|
- `containerRef` 是在投影内容时使用的 `ViewContainerRef`.
|
||
|
|
||
|
### getIndex
|
||
|
|
||
|
```js
|
||
|
getIndex(): number
|
||
|
```
|
||
|
|
||
|
该方法返回被 `0` 和 `containerRef` `length` 限制的给定索引. 对于没有索引的策略,它返回`0`.
|
||
|
|
||
|
### prepare
|
||
|
|
||
|
```js
|
||
|
prepare(): void
|
||
|
```
|
||
|
|
||
|
此方法在内容投影之前调用. 基于使用的容器策略,它要么清除容器,要么什么都不做(空操作).
|
||
|
|
||
|
## ClearContainerStrategy
|
||
|
|
||
|
`ClearContainerStrategy` 是一个扩展了 `ContainerStrategy` 的类. 它允许你**将内容投影之前清除容器**.
|
||
|
|
||
|
## InsertIntoContainerStrategy
|
||
|
|
||
|
`InsertIntoContainerStrategy` 是一个扩展了 `ContainerStrategy` 的类. 它允许你**将内容投影到容器中的特定节点索引上**.
|
||
|
|
||
|
## 预定义的容器策略
|
||
|
|
||
|
可以通过 `CONTAINER_STRATEGY` 常量访问预定义的容器策略.
|
||
|
|
||
|
### Clear
|
||
|
|
||
|
```js
|
||
|
CONTAINER_STRATEGY.Clear(containerRef: ViewContainerRef)
|
||
|
```
|
||
|
|
||
|
在内容投影之前清除给定的容器.
|
||
|
|
||
|
|
||
|
### Append
|
||
|
|
||
|
```js
|
||
|
CONTAINER_STRATEGY.Append(containerRef: ViewContainerRef)
|
||
|
```
|
||
|
|
||
|
将投影内容附加到容器中.
|
||
|
|
||
|
|
||
|
### Prepend
|
||
|
|
||
|
```js
|
||
|
CONTAINER_STRATEGY.Prepend(containerRef: ViewContainerRef)
|
||
|
```
|
||
|
|
||
|
将投影的内容预先写入容器中.
|
||
|
|
||
|
### Insert
|
||
|
|
||
|
```js
|
||
|
CONTAINER_STRATEGY.Insert(
|
||
|
containerRef: ViewContainerRef,
|
||
|
index: number,
|
||
|
)
|
||
|
```
|
||
|
|
||
|
将投影内容按照给定的索引(在`0` 到 `containerRef`的长度之间)插入到容器中.
|
||
|
|
||
|
## 另请参阅
|
||
|
|
||
|
- [ProjectionStrategy](./Projection-Strategy.md)
|