vue进阶面试题

Vue 愈来愈受迎接了。放眼国内外,不管是 BAT 等大厂,照样创业公司,Vue 都有普遍的运用。口试的时刻,Vue 相干手艺道理也一定是必考点。可以说,关于任何一个前端工程师来讲,控制 Vue 可以不是一个可选项,而更像一门“必修课”。

许多人做vue项目都是直接element ui等UI框架直接上,这些框架虽然在效力上帮了我们许多,然则,关于我们的手艺提拔而言,实在没有任何的提拔,而关于口试官发问的vue核心手艺,你也一定回复不上来。

关于一名开辟者来讲,假如你对一个手艺框架历来都是只停留在会用上,而历来不去相识这个框架内里核心手艺的完成道理和背地的设想头脑,我想在手艺这条路上一定走不远,我本身作为开辟者我有异常深入的体味.在这里也给人人做个走心的引荐,ant Design vue这个ui框架的作者在极客时候推出了一门课,叫vue开辟实战(文章底部有购置链接)。我本身也购置了这门课,以为讲的不错,会带着你控制 Vue 的手艺道理及其运用, 也会对其底层道理有所相识,而且经由历程实战项目,你将具有自力担任 Vue 前端项目的才能,对你的跳槽和口试以及vue的入门将会有异常大的协助,许多购置者包含我本身也以为这内里干货满满。引荐给人人有须要的人。

好了,进入正题,本日在这里给人人带来一点vue的进阶口试题。

1、什么是MVVM?
答:MVVM是是Model-View-ViewModel的缩写,Model代表数据模型,定义数据操纵的营业逻辑,View代表视图层,担任将数据模型衬着到页面上,ViewModel经由历程双向绑定把View和Model举行同步交互,不须要手动操纵DOM的一种设想头脑。

2、怎样定义vue-router的动态路由?怎样猎取传过来的动态参数?
答:在router目次下的index.js文件中,对path属性加上/:id。 运用router对象的params.id

3、vue-router有哪几种导航钩子?
答:三种,一种是全局导航钩子:router.beforeEach(to,from,next),作用:跳转前举行推断阻拦。第二种:组件内的钩子;第三种:零丁路由独享组件

4、vuex是什么?怎样运用?哪一种功用场景运用它?
答:vue框架中状况治理。在main.js引入store,注入。新建了一个目次store,….. export 。场景有:单页运用中,组件之间的状况。音乐播放、登录状况、到场购物车

5、MVVM和MVC区分?和其他框架(jquery)区分?那些场景实用?
答:MVVM和MVC都是一种设想头脑,重要就是MVC中的Controller演变成ViewModel,,MVVM重要经由历程数据来显现视图层而不是操纵节点,处理了MVC中大批的DOM操纵使页面衬着机能下降,加载速度慢,影响用户体验题目。重要用于数据操纵比较多的场景。
场景:数据操纵比较多的场景,越发便利

6、Vue公司的双向数据绑定道理是什么?
答:vue.js是采纳数据挟制连系宣布者 – 定阅者形式的体式格局,经由历程Object.defineProperty()来挟制各个属性的setter,getter,在数据更改时宣布音讯给定阅者,触发响应的监听回调。

7、请说下封装vue组件的历程?
答:起首,组件可以提拔全部项目的开辟效力可以把页面笼统成多个相对自力的模块,处理了我们传统项目开辟:效力低,难保护,复用性等题目。

然后,运用Vue.extend要领建立一个组件,然后运用Vue.component要领注册组件。子组件须要数据,可以在道具中接收定义。而子组件修正好数据后,想把数据传递给父组件。可以采纳发射要领

8、聊聊你对Vue.js的模板编译的明白
答:简而言之,就是先转化成AST树,再获得的衬着函数返回VNODE(Vue公司的假造DOM节点)
概况步骤:

起首,经由历程编译编译器把模板编译成AST语法树(笼统语法树即源代码的笼统语法结构的树状表现形式),编译是createCompiler的返回值,createCompiler是用以建立编译器的。担任兼并选项。

然后,AST会经由天生(将AST语法树转化成衬着功用字符串的历程)获得衬着函数,衬着的返回值是VNode,VNode是Vue的假造DOM节点,内里有(标署名,子节点,文本等等)

9、<keep-alive></keep-alive>的作用是什么,怎样运用?
答:包裹动态组件时,会缓存不运动的组件实例,重要用于保存组件状况或防止从新衬着;
运用:简朴页面时
缓存: <keep-alive include=”组件名”></keep-alive>
不缓存:<keep-alive exclude=”组件名”></keep-alive>

10、vue和react区分
答:相同点:都勉励组件化,都有’props’的观点,都有本身的构建东西,Reat与Vue只要框架的骨架,其他的功用如路由、状况治理等是框架星散的组件。

不同点:React:数据流单向,语法—JSX,在React中你须要运用setState()要领去更新状况。Vue:数据双向绑定,语法–HTML,state对象并非必需的,数据由data属性在Vue对象中举行治理。实用于小型运用,但关于关于大型运用而言不太合适。

11、v-show和v-if指令的共同点和不同点?
v-show指令是经由历程修正元素的displayCSS属性让其显现或许隐蔽。
v-if指令是直接烧毁和重修DOM到达让元素显现和隐蔽的结果。

12、$route和$router的区分
答:$route是“路由信息对象”,包含path,params,hash,query,fullPath,matched,name等路由信息参数。而$router是“路由实例”对象包含了路由的跳转要领,钩子函数等

13、vue中 key 值的作用
答:当 Vue.js 用 v-for 正在更新已衬着过的元素列表时,它默认用“当场复用”战略。假如数据项的递次被转变,Vue 将不会挪动 DOM 元夙来婚配数据项的递次, 而是简朴复用此处每一个元素,而且确保它在特定索引下显现已被衬着过的每一个元素。key的作用重要是为了高效的更新假造DOM

别的给人人迎接关注我的民众号:bb妞,内里有许多前端干货与你同享。

    原文作者:smile
    原文地址: https://segmentfault.com/a/1190000018592138
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞