【Q1】谈谈你对 MVVM
的理解
MVVM
是 Model-View-ViewModel
的缩写,其中:
Model
代表数据模型,可以在Model
中定义数据修改和操作的业务逻辑。可以把Model
称为数据层,因为它仅仅关注数据本身,不关心其他行为。View
是用户操作的界面,可以称为视图层。负责视图展现工作。当ViewModel
对Model
进行更新的时候,会通过数据绑定更新到View
。ViewModel
称为业务逻辑层,是数据层和视图层通信的桥梁。View
需要什么数据,ViewModel
要提供这个数据,有些操作也需要ViewModel
的响应。
【总结】:MVVM
模式简化了界面与业务的依赖,解决了数据频繁更新。在 MVVM
中,利用双向绑定技术,使得 Model
变化时,ViewModel
会自动更新,而 ViewModel
变化时,View
也会自动更新。
【Q2】谈谈你对SPA的理解
SPA
应用仅在页面首次初始化时加载相应的 HTML
,CSS
,JS
。一旦完成加载,就不会因为用户的操作而进行页面的重新加载,取而代之的是利用前端路由实现内容的变换。
【优点】:
- 前后端职责更好的分离,架构清晰
- 用户体验好,服务器相对压力小
【缺点】:
- 首次加载耗时久
SEO
难优化
【Q3】谈谈你对响应式的理解
通过数据模型(普通的 JS
对象)来驱动视图的更新,就是响应式。
以实例的 data
选项为例,当我们把一个普通的 JS
对象传入 Vue