1. MVC的三个对象
将数据相关的放到m
const m = {
data:{x:获取数据语句},
create(){},
delete(){},
update(){} //操作数据的方法
}
将试图放到V
const V = {
el:由外部传递的视图容器,
html:独立模块的html代码,
render(){
渲染的元素
},
init(){
v.el = $(container)//使用jQuery封装元素
}
}
将其它的放到c
const c = {
init(container) //供外部初始化,start
{
v.init(container)
c.autoBindEvents()
v.render()
},
events:{事件 元素 方法},
方法1,
方法2,
方法3
}
2. EventBus
EventBus提供通用的事件监听、触发与移除方法,可用于继承
class EventBus{
constructor(){
this._event = $(window)
}
on(eventName,fn){
this._eventBus.on(eventName,fn)
}
trigger(eventName,data){
this._eventBus.trigger(eventName,data)
}
off(eventName,fn){
this._eventBus.off(eventName,fn)
}
}
3.表驱动编程
表驱动编程就是将所有的逻辑与结果写在hash表里面,这样带来的好处就是不用写大量的if else了,并且修改逻辑也会很方便
4. 模块化
对于复杂的工程来说,模块化有利于:
- 分工完成自己的任务,互不影响
- 不至于让代码太多
- 可以提供给别人复用