当前位置: 首页 > Web前端 > HTML5

程序员web前端培训好手分享Vue面试题

时间:2023-04-06 00:19:08 HTML5

好程序员web前端培训分享vue面试题,为了帮助大家顺利通过面试,准备了这篇文章给准备参加的小伙伴们今天的web前端面试,让我们一起来看看吧!  1.什么是MVVM?  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管理。  二、mvvm和mvc的区别?它和其他框架(jquery)有什么区别?适合哪些场景?  mvc和mvvm其实区别不大。一切都与设计思维有关。主要原因是mvc中的Controller进化成了mvvm中的viewModel。mvvm主要解决mvc中大量DOM操作,降低页面渲染性能,拖慢加载速度,影响用户体验。  区别:Vue是数据驱动的,用数据来展示视图层,而不是节点操作。  场景:数据操作多的场景,更方便  三、Vue有什么优势?  低耦合。视图(View)可以独立于模型而改变和修改。ViewModel可以绑定到不同的“视图”。当View改变时,Model可以保持不变,当Model改变时,View也可以保持不变。  可重用性。您可以将一些视图逻辑放在ViewModel中,让许多视图重用该视图逻辑。  自主研发。开发人员可以专注于业务逻辑和数据开发(ViewModel),设计师可以专注于页面设计。  可测试的。接口一直很难测试,但现在可以为ViewModel编写测试。  4。组件之间的值传递?  父组件子组件传值组件传数据  子组件通过$emit方法传参  5.路由间跳转  Declarative(标签跳转)Programmatic(js跳转)  6.在vue.cli中如何使用自定义组件?你遇到过什么问题吗?  第一步:在components目录下创建你的组件文件(indexPage.vue),脚本必须exportdefault{}  第二步:在需要使用的页面(组件)中导入:importindexPagefrom'@/components/indexPage.vue'  第三步:注入到vue子组件的components属性中,components:{indexPage}  第四步:在模板视图视图中使用,  ,为例如,命名为indexPage,使用时,index-page  七、vue如何实现按需加载及Webpack设置  Webpack提供了require.ensure()来实现按需加载。以前路由是通过import导入的,现在改为const定义。  不按需加载页面导入方式:importhomefrom'../../common/home.vue'  按需加载导入页面:consthome=r=>require.ensure([],()=>r(require('../../common/home.vue')))  八、vuex面试相关  (一)什么是vuex?如何使用它?什么样的功能场景使用它?  vue框架中的状态管理。在main.js中引入store和inject。创建一个新的目录存储,.....导出。场景包括:单页应用程序中组件之间的状态。音乐播放、登录状态、加入购物车  (2)vuex有哪些属性?A、Vuex是一个仓库,仓库里有很多对象。state是存储数据源的地方,对应一般Vue对象中的data  B,state中存储的数据是响应式的。Vue组件从商店中读取数据。如果store中的数据发生变化,则依赖于这个数据组件也会更新  C。它通过mapState将全局状态和getters映射到当前组件的计算属性。  vuex的Getter特性  A。它是Store  B的计算属性。虽然计算属性也可以在组件中使用,但是getter可以在多个组件之间复用  C。如果一个状态只在一个组件中使用,可以使用getters  vuex的Mutation特性  Action类似于mutation,不同的是:Action提交mutation,而不是直接改变state;Action可以包含任何异步操作。  (3)不使用Vuex会有什么问题?  可维护性将降低。如果要修改数据,需要维护三个地方;  可读性会降低,因为一个组件里面的数据基本上是看不到从哪里来的;  增加耦合度,大量的上传和分发会大大增加耦合度。最初,Vue使用Component来降低耦合。现在这么用,有悖于组件化的初衷。  9.v-show和v-if指令的共同点和区别  v-show指令是修改元素的displayCSS属性,使其显示或隐藏;  v-if指令直接销毁和重建DOM,达到显示和隐藏元素的效果;  使用v-show会节省更多的性能开销;当只需要显示或隐藏一次时,使用v-if更合理。  10。如何让CSS只作用于当前组件  修改当前组件的