闪烁之狐
03
26
说是vue的声明周期 说是vue的声明周期
1.1 Vue2 中的生命周期主要的生命周期有:创建前后, 挂载前后, 更新前后, 销毁前后 beforeCreate 初始化父子关系及事件,数据观测(data observer) 之前被调用。用此方法一般编写插件的时候会用到。 crea
2024-03-26
25
v-once的使用场景有哪些 v-once的使用场景有哪些
v-once 是 Vue 中内置指令,只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。核心实现原理是利用缓存 <!-- 单个元素 --> <span v-
2024-03-25
25
v-if和v-for哪个优先级更高 v-if和v-for哪个优先级更高
同时使用 v-if 和 v-for 是不推荐的,因为这样二者的优先级不明显。 在 Vue3 中 v-if 的优先级高于 v-for,这意味着 v-if 的条件将无法访问到 v-for 作用域内定义的变量别名: <!-- 这会
2024-03-25
25
Vue中的v-show和v-if怎么理解 Vue中的v-show和v-if怎么理解
v-if 是“真实的”按条件渲染,因为它确保了在切换时,条件区块内的事件监听器和子组件都会被销毁与重建。 v-if 也是惰性的:(可以阻断内部代码是否执行),如果在初次渲染时条件值为 false,则不会做任何事。条件区块只有当条件首次变
2024-03-25
25
25
Vue3对⽐Vue2的变化 Vue3对⽐Vue2的变化
性能优化(更快): 使用了Proxy替代 Object.defineProperty 实现响应式。(为什么?defineProperty 需要对属性进行递归重写添加getter及setter 性能差,同时新增属性和删除属性时无法监控变化,
2024-03-25
25
25
22
key的作用和原理 key的作用和原理
1.1 key 的概念 key 的特殊 attribute 主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes。如果不使用 key,Vue 会使用一种最大限度减少动态元素并且尽可能的尝试就地修改/复用相同类
2024-03-22
22
Vue中的diff算法 Vue中的diff算法
1.1 Diff 概念vue 基于虚拟 DOM 做更新 。diff 的核心就是比较两个虚拟节点的差异 。Vue 的 diff 算法是平级比较,不考虑跨级比较的情况。内部采用深度递归的方式 + 双指针的方式进行比较。 1.2 Vue2 Dif
2024-03-22
22
Vue 中如何检测数组变化? Vue 中如何检测数组变化?
1.1 Vue2 中采用重写数组方法的方式 数组考虑性能原因没有用defineProperty对数组的每一项进行拦截,而是选择重写数组(push,shift,pop,splice,unshift,sort,reverse)方法。数组中如果是
2024-03-22
22
Vue 中如何进行依赖收集 Vue 中如何进行依赖收集
1.1 依赖收集的流程 每个属性都拥有自己的dep属性,存放他所依赖的 watcher,当属性变化后会通知自己对应的 watcher 去更新 默认在初始化时会调用 render 函数,此时会触发属性依赖收集 dep.depend 当属性发生
2024-03-22
2 / 3