vue面试题
雨天带刀不带伞
这个作者很懒,什么都没留下…
展开
-
虚拟DOM中key和index(需了解diffing算法的逻辑原理)
在页面更新时,会将虚拟DOM的key作为依据进行数据的对比,如果应index作为key,则可能会引发不必要的DOM更新,影响渲染效率;若页面包含输入类的DOM,并且进行了逆序的增删操作,还会造成错误的DOM更新。而使用唯一的标识作为key,则不会出现类似的情况。原创 2022-08-19 16:57:11 · 77 阅读 · 0 评论 -
VUEX的原理
vuex简述原创 2022-08-10 17:55:41 · 380 阅读 · 0 评论 -
DIFF算法原理
diff算法就是进行虚拟节点对比,并返回一个patch对象,用来存储两个节点不同的地方,最后用patch记录的消息去局部更新Dom。简单来说Diff算法就是在虚拟DOM树从上至下进行同层比对,如果上层已经不同了,那么下面的DOM全部重新渲染。这样的好处是算法简单,减少比对次数,加快算法完成速度。...原创 2022-08-09 19:06:53 · 4262 阅读 · 0 评论 -
对虚拟DOM的理解
本质上讲,虚拟dom是一个js对象,将页面的状态抽象js对象形式,配合不同渲染工具,可跨平台渲染;通过时间触发,将多次dom页面的修改结果一次性更新,减少渲染次数,减少重绘重排,提高性能。。虚拟dom是对dom的抽象,涉及最初目的是为了更好的跨平台,如node.js没有dom,要实现ssr(服务端渲染,在ajax出现之前,都是ssr),就是接住虚拟dom。...原创 2022-08-09 18:43:01 · 237 阅读 · 0 评论 -
MVC、MVVM、MVP
MVC 中的Controller 只知道 Model 的接口,因此它没有办法控制 View 层的更新,MVP 模式中,View 层的接口暴露给了 Presenter 因此可以在 Presenter 中将 Model 的变化和 View 的变化绑定在一起,以此来实现 View 和 Model 的同步更新。V为view,是视图层,负责显示数据;C是controller,是view和model层之间的枢纽,负责响应操作,当view需要数据,通知model拉取,当model拉取到数据,通知view显示。...原创 2022-08-09 18:18:24 · 750 阅读 · 0 评论 -
使用Object.defineProperty()进行数据劫持的缺点
对于数组的大部分操作无法拦截,对于通过下标方式修改数组或对象都不能触发重新渲染,只是vue通过重写函数解决了这个问题。而vue3不会有这样的问题,proxy可以监听到任何形式的数据改变,但是时es6的语法,会有兼容问题。...原创 2022-08-03 22:24:05 · 727 阅读 · 0 评论 -
VUE面试--基本原理
vue实例创建时,vue会遍历data中的属性,用obj.defineproperty或proxy将data属性转化为getter/setter,并且在内部追踪相关依赖,当其被修改或访问时就会通知变化;每一个组件有对应watcher实例,对属性记录依赖,之后当 依赖项setter被调用,就会让watcher重新计算,以此更新组件。...原创 2022-08-03 22:13:02 · 90 阅读 · 0 评论