当前位置: 首页 > Web前端 > vue.js

前端框架VUE面试基本问答

时间:2023-04-01 12:25:44 vue.js

VUE是一个流行的前端框架。前端培训学习VUE并不难,所以有时间想从事前端工作的朋友请仔细阅读。什么是VUE?首先,Vue.js(VUE)是一个用于构建用户界面的渐进式JavaScript框架。它是自下而上应用的。Vue的核心库只关注视图层。上手简单,可与第三方库或现有项目集成,你可以做复杂的单页应用。VUE的两大核心是什么?数据驱动:在VUE中,数据的变化会驱动视图的自动更新。传统的做法是手动改变DOM来更新视图,而VUE只需要改变数据即可。组件化:组件化开发有很多优点,可以很好的降低数据之间的耦合度。将常用代码封装成组件后,可以实现高度复用,提高代码复用性。在这里,一个页面可以由多个模块/组件组成。VUE的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有什么区别?mvc和mvvm没有太大区别。一切都与设计思维有关。主要原因是mvc中的Controller进化成了mvvm中的viewModel。mvvm主要解决mvc中大量DOM操作,降低页面渲染性能,拖慢加载速度,影响用户体验。VUE的双向绑定是什么?VUE的双向绑定是通过数据劫持结合发布者-订阅者来实现的。我们知道,两党是有约束力的。首先,数据被劫持和监控,所以需要一个监听器Observer来监控所有的属性。如果属性发生变化,需要告诉订阅者是否需要更新Watcher,因为有多个订阅者,所以必须有一个消息订阅来收集这些订阅者,然后在监听器Observer和订阅者Watcher之间统一管理,然后是commandparserconpile,它扫描并解析每个节点元素,并初始化相应的commands成为一个SubscriberWatcher,并替换模板或绑定相应的函数。这时,SubscriberWatcher会在收到相应的属性变化后,执行相应的更新函数,从而更新视图。实现一个监听器Observer来劫持所有属性,并在有变化时通知订阅者Watcher。实现一个消息订阅者Watcher,用于接收属性变化通知并执行相应的函数进行更新。实现一个解析器Compile,可以扫描并解析每个节点的相关指令,并根据初始化模板初始化相应的订阅者。V-IF和V-SHOW有什么区别?两者都用于判断DOM节点是否显示。实现方式V-IF根据后面数据的true和false值判断是从DOM树中删除还是重建节点。V-SHOW只是修改了CSS样式,也就是Display的属性。编译条件V-IF是惰性的,如果初始条件为假则什么都不做,只有当第一个条件为真时才开始本地编译。V-SHOW在任何条件下编译,然后缓存,DOM元素始终保留。编程过程V-IF切换有部分编译/卸载过程,内部事件监听器和子组件在切换过程中被适当销毁和重建。V-SHOW只是一个简单的基于CSS的切换。性能消耗V-IF具有较高的开关消耗,不适合频繁开关。V-SHOW渲染消耗较高,适合频繁切换。

猜你喜欢