根据MVVM模型框架定义的逻辑体系,AppCan MVVM技术框架提供视图模型(ViewModel)、数据模型(Model、Collection)和服务(Service)四个组件来构建开发者的MVVM开发体系。
Service主要负责与后端服务器进行通讯的处理,一般我们使用Ajax接口进行通讯,Ajax的封装已经能够支持我们应用开发,但是由于在移动开发过程中,还可能引入其他通讯方式,同时有些场景还需要对通讯参数进行调整,并对通讯进行单独测试,因此我们提供了Service组件,来为通讯部分进行规范,便于代码的可读性和可测试性。
Model 是用来维护处理服务器返回的和我们要提交的数据的管理。他是在 JSON 数据之上进行了封装提供对数据变更等事件的感知能力。一般 Model 主要用于维护一个对象的基本属性的映射。例如用户信息、商品详情等;
Collection 是用来维护一个 Model的集合,它主要用于维护的是一个可以增加、删除、排序筛选的数据列表。例如订单列表、商品列表等。这些数据列表都不会在一次访问中加载完成,用户需要进行翻页等操作,这些操作触发数据更新并附加或更新到 Collection 中。 Model 里面可以使用 JS 对象数组,例如 [1,2,3,4,] 或 [{name:”zhao”} , {name:”wang”}] 。 Model 中的数组主要用于维护一个对象的一些不经常变化的列表属性,例如衣服对象的尺码列表、一个电脑的硬盘大小选项等,这些属性经常不需要动态添加,而是直接一次获取和展现。
ViewModel 是 Model 、 Collection 与HTML(View) 的中间处理机,他首要完成数据到界面、界面到数据的自动化操作。同时也是用户交互行为事件的处理中心。 我们通过代码来了解MVVM对象的使用方式