1VC的概念
MVC是一种将代码简化、分类的设计模式,全称为Model-Vive-Controllor,其中Model模块的代码是和数据有关的代码,Vive模块的代码是和用户直观看到的页面有关的代码,Controllor模块则是其它和业务逻辑有关的代码,三个模块间相互通讯。下面是三个模块的伪代码:
Model = {
data: { 程序需要操作的数据或信息 },
create: { 增数据 },
delete: { 删数据 },
update(data) { Object.assign(m.data, data) //使用新数据替换旧数据 eventBus.trigger('m:upate') // eventBus触发'm:update'信息, 通知View刷新 },
get:{ 获取数据 } }
View = {
el: 需要刷新的元素,
html: `<h1>M V C</h1>....显示在页面上的内容`
init(){ v.el: 需要刷新的元素 },
render(){ 刷新页面 } }
Controller = {
init(){ v.init() // View初始化
v.render() // 第一次渲染
c.autoBindEvents() // 自动的事件绑定
eventBus.on('m:update', () => { v.render() }) // 当eventBus触发'm:update'时View刷新 },
events:{ 事件以哈希表方式记录 },
method() { data = 改变后的新数据 m.update(data) },
autoBindEvents() { 自动绑定事件 } }EventBus
\代码原出处链接:https://juejin.cn/post/6844904055752376333\
2.Eventbus主要API
Eventbus用于代码中对象通讯用,我们只需要构造一个对象,然后调用他的on 和 trigger方法就可以实现组件之间的通信,其主要APi有两个,Eventbus.on()用于监听某一事件的发生,Eventbus.trigger()当Eventbus.on()监听的事件发生是则会触发Eventbus.trigger(),使得两个对象间实现了通讯。
3.表驱动编程
表驱动编程是在写代码的过程中将复杂的、过渡重复的逻辑语句代码提取出来构建成一个对象即hasp表,从而实现代码的精简和调用时的便利。
4.我对模块化的理解
模块化是将页面中不同的模块创建不同的文件来编写,对于页面同一模块中实现不同作用的代码也创建不同的文件来编写,将庞大的代码分割为多个小部分,实现代码的专业化,彼此之间通过引用联系起来,这样可以在代码运行和编写的过程中避免代码的交叉和凌乱。