vue面试问题

作者: LuckyFBB | 来源:发表于2018-08-17 18:43 被阅读97次

1.MVVM模式和MVC模式

    MVVM模式是Model-View-ViewModel的缩写。MVVM是一种设计思想。Model层代码数据模型,也是可以在Model中定义数据修改和操作的业务逻辑;View层代表UI组件,它负责将数据模型转化为UI展示出来,ViewModel是一个同步View和Model的对象。

    在MVVM架构中,View和Model之间没有直接联系,通过ViewModel进行交互,Model和ViewModel之间的交互是双向的,因此View数据变化会同步到Model中,而Model的数据变化也会立即反应到View上。

    ViewModel通过双向数据绑定把View层和Model层连接起来,而View和Model之间的同步工作完全是自动的,无需人为干涉,因开发者只需要关注业务逻辑,不需要手动操作DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全由MVVM来统一管理。

    主要是MVC中的Controller演变成为MVVM中的ViewModel。MVVM主要解决了MVC中大量的DOM操作使页面渲染性能下降,加载速度变慢,影响用户体验。和当Model频繁变化的时候,开发者需要主动更新到View。

2.双向绑定的原理

    采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter/getter,在数据变动时发布消息给订阅者,触发相应的监听回调。

    具体步骤如下:

        A.需要observe的数据对象进行递归遍历

        B.compile解析模板指令

        C.Watcher订阅者是Observer和Compile之间通信桥梁

        D.MVVM作为数据绑定的入口,整合Observer、Compile和Watcher三者

3.生命周期的理解

    

生命周期的图 简单说明 生命周期钩子

                 Vue----生命周期钩子

4.组件之间的传值交互

    Vue-组件之间的传值

5.axios的了解

    Vue-axios用法详解

6.v-if和v-show指令的区别

    v-show是通过修改元素的display属性让其显示隐藏或者显示

    v-if是销毁或者重建DOM达到让元素显示和隐藏的效果

7.keep-alive的作用

    会缓存不活动的组件实例,主要用于保留组件状态或避免重新渲染。

8.computed、watch、methods之间的区别和各自的应用场景

    computed,watch,methods之间的区别

9.angular双向绑定和vue双向绑定的区别

    angular是通过脏检查实现,angular会将UI事件,请求事件,settimeout这类延迟的对象放入到事件监听的脏队列中,当数据变化的时候,触发$diget方法进行数据的更新,视图的渲染。

    vue通过数据属性的数据劫持和发布订阅模式实现,大致可以理解为三个模块组成,observer完成对数据的劫持,compile完成对模板片段的渲染,watcher作为桥梁链接二者,订阅数据变化及更新视图。

相关文章

  • 17.拓展:Vue.js 面试、常见问题答疑

    拓展:Vue.js 面试、常见问题答疑 在过去的很多面试中,我会经常问候选人一些关于 Vue.js 的问题。这些问...

  • 2020 Vue经典面试题

    文档描述 本文是关注Vue开发和面试问题, 由基础到困难循序渐进, 适合面试和开发vue。 文档答案可以去看云平台...

  • vue面试常被问到的问题整理

    vue面试常被问到的问题整理 1、Vue的双向数据绑定原理是什么? 答 : vue是采用数据劫持,并且使用发布-订...

  • vue面试问题

    1.MVVM模式和MVC模式 MVVM模式是Model-View-ViewModel的缩写。MVVM是一种设计...

  • Vue面试问题

    1.怎么给vue定义全局的方法? 1、通过prototype,这个非常方便。Vue.prototype[metho...

  • vue面试相关问题

    目录 1.深入浅出Vue响应式原理[https://segmentfault.com/a/119000001970...

  • Vue笔记六:Vue项目的性能优化之路

    Vue笔记六:Vue项目的性能优化之路 我最近也经常面试外包同事。面试的时候,总会有个问题,“你说一下性能优化的手...

  • 2020-02-23

    可能问到的问题 Vue 相关的面试题 diff 算法 https://github.com/answershuto...

  • vue面试题+答案,2021前端面试

    vue面试题+答案,2021前端面试 vue视频教程系列: Vue3+ElementPlus+Koa2 全栈开发后...

  • 面试必备干货-css篇

    总结一下我上一次去面试的时候面试官问的几个关于css的相关问题。下一篇,我会总结下问的js以及vue相关的面试问题...

网友评论

    本文标题:vue面试问题

    本文链接:https://www.haomeiwen.com/subject/kdszbftx.html