import{ax as s,z as i,A as a,b2 as e}from"./chunks/framework.DkLJC2NO.js";const k=JSON.parse('{"title":"Node","description":"","frontmatter":{},"headers":[],"relativePath":"runtime-api/core/node.md","filePath":"runtime-api/core/node.md"}'),d={name:"runtime-api/core/node.md"};function n(l,t,o,p,h,r){return a(),i("div",null,[...t[0]||(t[0]=[e(`

Node

Node@tmagic/core 的节点基类,继承自 EventEmitter,表示 DSL 中的一个节点。

构造函数

typescript
new Node(options: NodeOptions)

NodeOptions

参数类型说明
configMNode节点配置
parentNode父节点(可选)
pagePage所属页面
appApp应用实例

属性

属性类型说明
dataMNode节点配置数据
styleobject节点样式
eventsEventConfig[]事件配置
instanceany组件实例
pagePage所属页面
parentNode | undefined父节点
appApp应用实例
storeStore节点存储
eventKeysMap<string, symbol>事件键映射

实例方法

setData

typescript
node.setData({
  id: 'button_1',
  type: 'button',
  style: { width: 100 },
  events: []
});

addEventToQueue

setInstance

typescript
// 通常在组件挂载时调用
node.setInstance(componentInstance);

runHookCode

typescript
await node.runHookCode('mounted', { data: someData });

destroy

生命周期事件

Node 实例会触发以下生命周期事件:

事件名说明
created组件创建完成时触发
mounted组件挂载完成时触发
destroy组件销毁时触发
update-data数据更新时触发

监听示例

typescript
node.on('mounted', () => {
  console.log('组件已挂载');
});

node.on('update-data', (newData) => {
  console.log('数据已更新', newData);
});
`,27)])])}const E=s(d,[["render",n]]);export{k as __pageData,E as default};