网页报价
2013-10-15 本文已影响0人
ruanjianke
Date: 2013-10-12 10:12
tags: javascript
status: public
模块
-
Utils
一些基本常用工具方法集 -
Model
存放应用的数据,包含order
,orderline
,lead
等相关数据. -
Control
对用户交互的响应,对数据的CURD
-
View
主要是创建HTML
模版片段, 控制某些的元素的显示与样式 -
EventHandle
应用内所有事件的绑定
流程
- 初始化
Control.init()
函数完成一些应用的初始化任务, 如:URL
参数的解析, 基本的权限控制等, 并在最后调用数据获取. - 数据获取
Control.getData()
函数从服务器端获取应用需要的一些数据 - 数据初始化
Control.initData()
函数将步骤2中获取的数据进行初始化, 并以一定的数据结构存储在Model
中,Model
中数据结构如下: - 数据渲染
Control.showData()
函数将步骤3准备好的Model
与View
中的模板进行绑定并渲染构成应用主要的表格Table
. 并在最后调用Control.toInitEvent()
函数处理事件绑定前的权限控制. - 权限控制
Control.toInitEvent()
函数中会调用Control.checkIfLock()
先检查此报价单是否被锁单, 如果锁单则调用Control.lockWeb()
, 否则直接调用EventHandle.initEvent()
进行事件绑定 - 事件绑定
EventHandle.initEvent()
函数进行所有事件的绑定. 在此函数中, 事件绑定主要分为二个部分, 即一次性绑定和多次绑定, 前者应用于一些固定的元素, 如按钮/弹框等, 后者应用在行程表格Table
中, 每次进行CURD
操作后都会从步骤4开始重复流程直到此步骤完成表格中的事件绑定.EventHandle.bindOneOffEvent()
此函数负责一次性绑定, 其中还细分中只读限制逻辑, 当报价单需要只读限定时, 传递相应参数以激活此逻辑.