mirror of
https://github.com/qianguyihao/Web.git
synced 2024-11-01 13:34:46 +08:00
1.7 KiB
1.7 KiB
前言
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没有虚拟DOM,Vue2.0改成了基于虚拟DOM。
如何理解MVC
C指的是Controller。控制器能够控制视图的变化,也能控制数据的变化。
单项通信。一般情况下是:view 发出命令给控制器,控制器处理业务逻辑后控制 Model,Model再去改 view。
hybrid
使用场景
不是所有的场景都适合用 hybrid:
-
使用原生应用:体验要求极致,变化不频繁(如头条的首页)
-
使用 hybrid:体验要求高,变化频繁(如新闻详情页)
-
使用H5:体验无要求、不常用(比举报、反馈等)