前端常见面试题
常见面试题之关于对MVVM的理解
-
MVVM 是Model-View-ViewModel的缩写,它是一种软件架构风格
- Model:数据模型,数据和业务逻辑都在Model层中定义
- View:表UI视图,负责数据的展示(用于渲染数据)
- ViewModel:视图模型,其实本质上就是 Vue 实例。就是与界面(view)对应的Model。因为,数据库结构往往是不能直接跟界面控件一一对应上的,所以,需要再定义一个数据对象专门对应view上的控件。而ViewModel的职责就是把model对象封装成可以显示和接受输入的界面数据对象。

- 解释:Model和View并无直接关联,而是通过ViewModel来进行联系的,Model和ViewModel之间有着双向数据绑定的联系。因此当Model中的数据改变时会触发View层的刷新,View中由于用户交互操作而改变的数据也会在Model中同步。**。
简单的说,ViewModel就是View与Model的连接器,View与Model通过ViewModel实现双向绑定。
v-if 与 v-show 比较
1. 什么时候元素被渲染
-
v-if 如果在初始条件为假,则什么也不做,每当条件为真时,都会重新渲染条件元素
-
v-show 不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换
2. 使用场景选择
-
v-if 有更高的切换开销,
-
v-show 有更高的初始渲染开销。
因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行后条件很少改变,则使用 v-if 较好。
浙公网安备 33010602011771号