逻辑对象协议
逻辑层负责反馈用户对界面操作的处理中心。
而 逻辑对象 是逻辑层规范的输入口,是运行时方法(ceateApp、createComponent、createPage)的输入,包括
| 字段名 | 类型 | 说明 |
|---|---|---|
| props | Object |
声明当前组件可接收数据属性 props = { type, default } type为数据类型,default为数据默认值 |
| data | Object | CML模板可直接使用的响应数据,是连接视图层的枢纽 |
| methods | Object | 处理业务逻辑与交互逻辑的方法 |
| watch | Object | 侦听属性,监听数据的变化,触发相应操作 |
| computed | Object | CML模板可直接使用的计算属性数据,也是连接视图层的枢纽 |
| beforeCreate | Function | 例初始化之后,数据和方法挂在到实例之前 一个页面只会返回一次 |
| created | Function | 数据及方法挂载完成 |
| beforeMount | Function | 开始挂载已经编译完成的cml到对应的节点时 |
| mounted | Function | cml模板编译完成,且渲染到dom中完成 |
| beforeDestroy | Function | 实例销毁之前 |
| destroyed | Function | 实例销毁后 |
理解了每个输入字段代表的含义后,可以扩展(ceateApp、createComponent、createPage)处理逻辑对象,将逻辑对象转换成当前平台可接收的格式。
2 运行时能力注入
映射,并且在各生命周期中,注入新端到cml框架的运行时能力
2.1 生命周期hook映射
每个 cml 实例(App、Page、Component)在被创建时都要经过一系列的初始化过程 ————
例如,需要设置数据监听、编译模板、将实例挂载到 CML节点 并在数据变化时更新 CML节点 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给开发者在不同阶段添加自己的代码的机会。
cml 为App、页面Page、组件Component 提供了一系列生命周期事件,保障应用有序执行。
另外,你还需要实现 生命周期多态。
2.2 methods
应用程序运行过程中,提供给上下文this可调用的方法
2.3 数据驱动能力
当做数据修改的时候,只需要在逻辑层修改数据,视图层就会做相应的更新。
注入的核心是:赋予生命周期hook mixins扩展能力,并且在特定hook中,赋予this响应数据变化的能力