Web/15-前端面试/面试题积累/MVVM.md

95 lines
1.7 KiB
JavaScript
Raw Normal View History

## 前言
MVVM的常见问题
- 如何理解MVVM
- 如何实现MVVM
- 是否解读过Vue的源码
题目
- 说一下使用 jQuery 和使用框架的区别
- 说一下对 MVVM 的理解
- vue 中如何实现响应式
- vue 中如何解析模板
- vue 的整个实现流程
## 说一下使用 jQuery 和使用框架的区别
## MVVM / Vue
## MVVM模式
- Model负责数据存储
- View负责页面展示
- View Model负责业务逻辑处理比如Ajax请求等对数据进行加工后交给视图展示
数据驱动视图只关心数据变化DOM操作被封装
### MVVM / Vue的三要素
- **响应式**vue 如何监听到 data 的每个属性变化
- **模板引擎**vue 的模板如何被解析指令如何处理
- **渲染**vue 的模板如何被渲染成 html 以及渲染过程
### 什么是虚拟 DOM
传统的web开发是利用 jQuery操作DOM这是非常耗资源的
我们可以在 JS 的内存里构建类似于DOM的对象去拼装数据拼装完整后把数据整体解析一次性插入到html里去这就形成了虚拟 DOM
Vue1.0没有虚拟DOMVue2.0改成了基于虚拟DOM
### 如何理解MVC
C指的是Controller控制器能够控制视图的变化也能控制数据的变化
单项通信一般情况下是view 发出命令给控制器控制器处理业务逻辑后控制 ModelModel再去改 view
## hybrid
### 使用场景
不是所有的场景都适合用 hybrid
- 使用原生应用体验要求极致变化不频繁如头条的首页
- 使用 hybrid体验要求高变化频繁如新闻详情页
- 使用H5体验无要求不常用比举报反馈等