1.MVC 三个对象分别做什么
- Model 负责操作数据与服务器的交互,将请求到的数据传给Controller
const m = {
data:{}
}
- View 负责用户界面,HTML渲染
const v = {
el:null,
html:``
}
- Controller 负责其他,用于控制应用程序的流程
const c = {
init(){},
bindEvents(){}
}
2.EventBus 有哪些 API,是做什么用的
eventBus用来建立对象之间的联系,基本的API有三个,on用来监听事件(可以是自定义事件),off用来取消事件,trigger用来触发事件。主要用于对象间通信
class EventBus {
constructor() {
this._eventBus = $(window)
}
on(eventName, fn) {
return this._eventBus.on(eventName, fn)
}
trigger(eventName, data) {
return this._eventBus.trigger(eventName, data)
}
off(eventName, fn) {
return this._eventBus.off(eventName, fn)
}
}
export default EventBus
在另一个文件中导入并new一个EventBus对象
import EventBus from 'EventBus.js'
const e =new EventBus()
e.on()
e.trigger()
e.off()
表驱动编程是做什么的
- 表指的是哈希表
- 表驱动编程可以减少重复代码,只讲重要的信息放在表里,然后利用表来编程
我是如何理解模块化的
-
使代码低耦合性——功能模块直接不相互影响,各管各的
-
使代码方便维护和修改——视图层、数据层和控制层分开,结构清晰好理解
-
使代码提高可复用性——直接复制到下一个类似的新项目进行修改就可用