前端常见面试题

常见面试题之关于对MVVM的理解

  • MVVM 是Model-View-ViewModel的缩写,它是一种软件架构风格

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

  • 解释:ModelView并无直接关联,而是通过ViewModel来进行联系的,ModelViewModel之间有着双向数据绑定的联系。因此当Model中的数据改变时会触发View层的刷新,View中由于用户交互操作而改变的数据也会在Model中同步。**。
    简单的说,ViewModel就是ViewModel的连接器,ViewModel通过ViewModel实现双向绑定。

v-if 与 v-show 比较

1. 什么时候元素被渲染

  • v-if 如果在初始条件为假,则什么也不做,每当条件为真时,都会重新渲染条件元素

  • v-show 不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换

2. 使用场景选择

  • v-if 有更高的切换开销,

  • v-show 有更高的初始渲染开销。

​ 因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行后条件很少改变,则使用 v-if 较好。

posted @ 2020-09-22 09:00  xiaokai9527  阅读(94)  评论(0)    收藏  举报