MVC笔记

125 阅读1分钟

概念

每个模块都可以写成三个对象,分别是 M、V、C

  • M-Model(数据模型) 负责操作所有数据
  • V-View(视图)负责所有UI 界面
  • C-Controller(控制器 负责其他

模块化就是把一个功能放到一个模块里
面试就翻译一下名词

怎么个MVC法

JS 模块化:

  1. 可以使用 export default x 将一个变量默认导出给外部使用
  2. 可以使用 import x from './xxx.js' 引用另一个模块导出的默认变量
  3. 可以使用 import {x} from './xxx.js' 引用另一个模块导出的名为 x 的变量

eventBus:

  1. eventBus 提供了 on、off 和 trigger 等 API,on 用于监听事件,trigger 用域触发事件
  2. eventBus 主要用于对象间通信
  3. 使用 eventBus 可以满足最小知识原则,m 和 v 互相不知道对方的细节,但是却可以调用对方的功能

表驱动编程:

  1. 表指的是哈希表
  2. 表驱动编程可以减少重复代码,只讲重要的信息放在表里,然后利用表来编程

新的知识点:

  1. 引入css:以前 link --> 现在 js : import ./a.css
  2. 引用jQuery: 以前 script 加 jQuery CDN --> 现在 先 (yarn init) yarn add jquery 或者 npm i jquery,再import $ from 'jquery'($可以随意替换)

经验

  1. 永远不要用js操作css
  2. $.li.siblings()找到li的同级(兄弟姐妹)元素
  3. 模块化:把html也放进js里 uTools_1675083285055.png
  4. 事件监听不能有空格 a.on('x xx') 不可以