Web/15-前端面试/面试题积累/MVVM.md
2021-07-29 11:08:52 +08:00

1.7 KiB
Raw Blame 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体验无要求、不常用比举报、反馈等