# 事件驱动与函数式编程
云智开发平台开发出的页面实际上是由组件节点集合、可执行函数集合、事件集合组成的。
组件为页面的元数据,在页面的整个生命周期中,事件负责驱动可执行函数去执行,可执行函数负责修改更新组件的状态。用户进行相应的操作之后会派发一个事件到事件中心,事件中心通知与该事件绑定的函数执行,函数驱动相关的组件进行状态更新。以下为其运作机制:
TIP
云智开发平台中的函数分为 callback、event、init、normal 四种类型。
callback 类型主要是以属性的形式传递到对象中,通过 callback 函数可以把组件内部的状态给回传回来。这类函数是在组件内部执行的,其$context 也是组件内部的状态。如表格的请求方法、行 style、单元格 style 等属性都是这类函数。
event 函数主要是绑定在组件事件上的,事件触发时会执行。所有的组件的事件绑定的都是这种类型的函数。这类函数是在事件被触发后在组件外部执行的,其$context 为事件传递的数据。
init 函数是页面的入口函数,页面挂载后会自动执行。
normal 函数就是常规函数,页面逻辑的拆解、封装、复用以 normal 函数呈现,供其他函数调用。