生命周期钩子
PtahJs 通过 runtime.lifecycleChain 提供同步生命周期管线,用于在 schema 处理和导出阶段插入自定义逻辑。
基本用法
js
import { useRuntimeApp } from '@ptahjs/ui-vue';
import { LIFECYCLE_TYPE } from '@ptahjs/kernel';
const runtime = useRuntimeApp({ id: 've1' });
runtime.lifecycleChain.addStep(LIFECYCLE_TYPE.GET_PAGE_SCHEMA_DATA, (data) => {
return { ...data, exportedAt: Date.now() };
});API
| 方法 | 说明 |
|---|---|
addStep(type, fn) | 注册步骤 |
removeStep(type, fn) | 删除指定步骤 |
clearSteps(type) | 清空某个类型下的步骤 |
clearAll() | 清空全部步骤 |
process(type, data) | 执行处理管线 |
生命周期类型
BEFORE_TRANSFORM_DATAGET_PAGE_SCHEMA_DATARENDERER_MODULE_CONTENTRENDERER_MODULE_ITEM
示例
js
runtime.lifecycleChain.addStep(LIFECYCLE_TYPE.BEFORE_TRANSFORM_DATA, (schema) => {
return schema;
});
runtime.lifecycleChain.addStep(LIFECYCLE_TYPE.GET_PAGE_SCHEMA_DATA, (schema) => {
return {
...schema,
version: '2.0',
};
});