《浅析MVC》

69 阅读1分钟

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. 模块化

对于复杂的工程来说,模块化有利于:

  1. 分工完成自己的任务,互不影响
  2. 不至于让代码太多
  3. 可以提供给别人复用