10道Vue.js精简经典面试题及答案——面试必备

本文来自水里游的投稿

一.Vue.js的概念是什么?

Vue (读音 /vjuː/,类似于 view)
是一套用于构建用户界面的渐进式框架。渐进式框架的意思就是使用了vue.js的一部分,还可以结合着使用其他框架,而不是用了vue.js就必须用vue.js的所有部分。

二.Vue.js有什么作用?

响应式的数据绑定,响应式指的不是媒体查询布局的响应,而是指vue.js会自动对页面中某些数据的变化做出响应。

Vue.js组件化的开发,把一个单页应用中的各种模块拆分到一个一个单独的组件,在父级应用中写好各种组件标签,并且在组件标签中写好要传入组件的参数,然后再分别写好各种组件的实现。

Vue.js使得页面交互和结构变得十分简单,一个页面上只需要加入需要的组件,通过双向数据绑定更新数据,极大地减少了代码量和工作量。

三.Vue的原理是什么?

每个组件实例都有相应的 watcher 实例对象,它会在组件渲染的过程中把属性记录为依赖,之后当依赖项的 setter 被调用时,会通知 watcher 重新计算,异步批量DOM更新,从而致使它关联的组件得以更新。

Vue的原理

四.谈谈你对Vue的认识

Vue是一个典型的视图模型框架(MVVM),模型(Model)只是普通的JavaScript对象,修改Model则视图(View)会自动更新。这种设计让状态管理变得非常简单而直观。动态更新数据而非重新获取,减少了网站资源损耗。

五. Vue核心知识有哪些?

1、数据驱动

在vue.js里面只需要改变数据,Vue.js通过Directives指令去对DOM做封装,当数据发生变化,会通知指令去修改对应的DOM,数据驱动DOM的变化,DOM是数据的一种功能自然的映射。vue.js还会对操作做一些监听(DOM Listener),当我们修改视图的时候,vue.js监听到这些变化,从而改变数据。

vue数据驱动

2、组件系统

扩展HTML元素,封装可重用的代码。每一个组件都对应一个ViewModel。页面上每个独立的可视/可交互区域都可以视为一个组件。每个组件对应一个工程目录,组件所需要的各种资源在这个目录下就进维护。页面是组件的容器,组件可以嵌套自由组合形成完整的页面。

六.什么是MVC ?

模式代表 Model-View-Controller(模型-视图-控制器) 模式。View层接受用户的输入,然后通过Controller修改对应的Model实例;同时,当Model实例的数据发生变化的时候,需要修改UI界面,可以通过Controller更新界面。

七. 什么是MVP?

MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。在MVP中View和Model自身的功能更单一了,View也更纯净。

八.MVVM是什么?

MVVM(Model-View-ViewModel)是在MVC(Model-View-Control)模式之后引出的新的开发模式,他与MVC模式一样用于把视图(界面)和数据进行解耦,不同的是采用ViewModel来完成数据与视图的双向绑定,通过自动化的方式承担大部分数据工作,来解决由于界面复杂化和快速迭代带来的问题

九.vue-cli 工程常用的 npm 命令有哪些?

查询npm版本:npm -v 

安装npm:npm install npm g

安装webpack:npm install webpack -g

安装vue命令行工具:npm install -g vue-cli

进入 vue-demo 文件夹:cd vue-demo

记录下载下来的依赖:npm install

运行:npm run dev

十.请问 v-if和 v-show有什么区别?

v-if是动态的向DOM树内添加或者删除DOM元素; 

v-show是通过设置DOM元素的display样式属性控制显隐; 

v-if 的初始化较快,但切换代价高;v-show 初始化慢,但切换成本低

Vue.js在前端领域框架中稳居第一,很多公司用人都会要求精通vue.js基本知识和底层原理,以上是前端程序员面试时HR容易问到的问题以及答案,这边文章会在你面试前助你一臂之力。

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?