API Reference > @next-core/brick-types > ContextConf
ContextConf interface
上下文(数据)配置
Signature:
export interface ContextConf
Remarks
上下文类似于编程语言中的*变量*的概念,提前声明,按需赋值或修改,然后在需要的地方读取它。
Example
定义方式一(自由变量):
context:
- name: myContext
# 初始 `value` 可以使用占位符。
value:
quality: good
# 初始 `value` 是可选的。
- name: myAnotherContext
定义方式二(异步 Resolve 的自由变量):
context:
- name: myAsyncContext
resolve:
useProvider: my.any-provider
# 默认将使用 Provider 返回的数据作为该 Context 的值(brick_next >= 1.25.2 支持)。
# 如果需要转换数据,注意需使用 transform 后的 value 值。
transform:
# `CTX.myAsyncContext` 的值将是 `DATA.hostname`。
value: "<% DATA.hostname %>"
定义方式三(绑定构件属性):
bricks:
- brick: my.source-brick
context:
- name: myContextRelatedToProp
# 绑定构件属性的方式实际存储的是引用关系,在消费时实时获取。
property: sourceProp
Properties
| Property | Type | Description |
|---|---|---|
| if | string | boolean | 条件配置,根据 if 的计算结果来决定是否启用该上下文。不适用于绑定构件属性的数据。 |
| name | string | 上下文(数据)名称。 |
| onChange | BrickEventHandler | BrickEventHandler[] | 当数据发生变化时触发的事件。注意,该事件仅适用于自由变量或异步处理的数据,不适用于绑定构件属性的数据。 |
| property | string | 要绑定的构件属性名。 |
| resolve | ResolveConf | 异步处理配置。如需 transform,将使用转换后的结果的 value 字段作为值。 |
| value | unknown | 自由变量类型的上下文的值。 |