1.MVC是一个万金油,所有的页面都可以用MVC来优化代码结构。每个对象都可以分为三个模块。
- M-Model(数据模型)负责操作所有数据
- V-View(视图)负责所有UI界面
- C-Controller(控制器)负责其它
2.最小知识原则
- 引入模块越少越好
- 需要知道的知识越少越好
3.view=render(data),所有的视图就是把数据渲染一下。
4.表驱动编程:把重要的数据做成哈希表。表驱动法就是一种编程模式,从表里面查找信息而不使用逻辑语句。
5.EventBus(对象间的通信),on监听函数,trigger触发函数,off取消监听。
6.mvc各模块:
- m:分别是增、删、改、查。还有一个data存放数据
- v:el、html、init(初始化)、render(渲染)。
- c:init()、events()、autoBindEvents(自动的事件绑定)
- 伪代码示例:
//数据层 Model
class Model{
data:数据,
getDate(){
获取数据操作
}
update(data){
数据更新操作
}
}
//视图层 View
Class View{
ele: 视图元素,
//把视图元素渲染到页面中
render()
}
//控制层 Controler
Class Controler{
//获取Model的引用
//获取View的引用
m = getModel()
v=getView()
//通知视图层更新数据,重新渲染
v.render(m.data)
...
//视图层的数据变化时候,通知数据层改变data
m.update(newdata)
}
7.类:将代码封装成一个类,然后导出再进行导出调用,如下代码,此时creat()等方法都在Model的原型上。
8.继承:
9.我所理解的模块化,就是将公共属性抽取出来,封装成一个又一个模块,彼此之间相互通信却又不互相打扰。
10.ES6最新语法可选链(?.)。
console?.log?.(111)