逻辑对象协议
逻辑层负责反馈用户对界面操作的处理中心。
而 逻辑对象
是逻辑层规范的输入口,是运行时方法(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
响应数据变化的能力