当前位置: 首页 > 后端技术 > PHP

Vue.js面试题安排

时间:2023-03-29 13:41:31 PHP

1.什么是MVVM?MVVM是模型-视图-视图模型的缩写。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是数据驱动的,用数据来展示视图层,而不是节点操作。场景:数据操作较多的场景更方便。3、Vue有什么优势?低耦合。视图(View)可以独立于模型而改变和修改。ViewModel可以绑定到不同的“视图”。当View改变时,Model可以保持不变,当Model改变时,View也可以保持不变。可重用性。您可以将一些视图逻辑放在ViewModel中,让许多视图重用该视图逻辑。自主开发。开发人员可以专注于业务逻辑和数据开发(ViewModel),设计师可以专注于页面设计。可测试的。接口一直很难测试,但现在可以为ViewModel编写测试。4.组件之间传值?父组件和子组件传值父组件通过上面的标签定义传值,子组件通过props方法接受数据。转)Programmatic(js跳转)6.如何在vue.cli中使用自定义组件?你遇到过什么问题吗?第一步:在components目录下创建你的组件文件(indexPage.vue),脚本必须exportdefault{}第二步:导入你需要的页面(组件):importindexPagefrom'@/components/indexPage.vue'第三步:注入到vue的子组件的components属性中,components:{indexPage}第四步:在templateview视图中使用,例如命名为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。创建一个新的目录存储,.....导出。场景包括:单页应用程序中组件之间的状态。音乐播放、登录状态、加入购物车(二)vuex有哪些属性?有五种类型,分别是State、Getter、Mutation、Action,以及Modulevuex的State特征A。Vuex是一个仓库,仓库里有很多对象。state是存储数据源的地方,对应一般Vue对象中的dataB,state中存储的数据是响应式的。Vue组件从商店中读取数据。如果store中的数据发生变化,则依赖于该数据的组件也会发生变化。将发生更新C。它通过mapState将全局状态和getters映射到当前组件的计算属性。vuex的Getter特性A。Getters可以对State进行计算操作,State是Store的计算属性B。虽然在组件中也可以使用Computedproperties,但是getters可以在多个组件之间复用。C.如果一个状态只在一个组件中使用,可以使用gettersvuex的Mutation特性。Action类似于mutation,不同的是Action提交mutation,而不是直接Changestate;动作可以包含任意异步操作。(3)不使用Vuex会出现什么问题?可维护性会降低。如果要修改数据,需要维护三个地方;可读性会降低,因为你看不到组件中的数据来自哪里;增加耦合,大量的上传和分发会使耦合的灵活性大大增加。最初,Vue使用Component来降低耦合。现在这么用,有悖于组件化的初衷。9.v-show和v-if指令的异同v-show指令是修改元素的displayCSS属性,使其显示或隐藏。v-if指令是直接销毁重建DOM使元素显示和隐藏十、如何让CSS只在当前组件起作用将当前组件的