做刷网站流量犯法吗,做优秀企业网站,自己做网站挂广告怎么赚钱,贵州省住房和城乡建设厅电话一、Vue 3的Composition API主要包括哪些函数和钩子#xff1f;
Vue 3的Composition API主要包括以下几个方面的函数和钩子#xff1a;
1. 响应式引用和状态
ref#xff1a;用于创建响应式引用#xff0c;接收一个值并返回一个响应式且可变的ref对象。在模板中可以直接访…一、Vue 3的Composition API主要包括哪些函数和钩子
Vue 3的Composition API主要包括以下几个方面的函数和钩子
1. 响应式引用和状态
ref用于创建响应式引用接收一个值并返回一个响应式且可变的ref对象。在模板中可以直接访问ref对象包裹的值无需.value。reactive用于创建响应式对象返回一个响应式的代理对象Proxy。该对象可以包含多个响应式属性。
2. 生命周期钩子
onBeforeMount组件挂载到 DOM 之前调用。onMounted组件挂载到 DOM 后调用。onBeforeUpdate数据更新时调用发生在虚拟 DOM 打补丁之前。onUpdated组件 DOM 更新后调用。onBeforeUnmount组件卸载之前调用。onUnmounted组件卸载后调用。
3. 依赖注入
provide允许祖先组件向其所有子孙后代组件提供可用的属性。inject允许一个子孙组件获取祖先组件中通过 provide/inject 提供的属性。
4. 逻辑复用
setupComposition API 的入口点替代了 Vue 2.x 中的选项式 API。computed与 Vue 2.x 类似用于创建计算属性。watch侦听特定的响应式数据并在其变动时运行回调。watchEffect立即运行一个函数并响应式地追踪其依赖并在其依赖变更时重新运行该函数。
5. 辅助函数
toRefs将响应式对象转换为普通对象其中结果对象的每个属性都是指向原始对象相应属性的 ref。isRef检查一个值是否为一个 ref 对象。isReactive检查一个对象是否是由 reactive 创建的响应式代理。isReadonly检查一个对象是否是由 readonly 创建的只读代理。
6. 模板引用
ref模板中使用在模板中用于创建对元素的引用。
7. 其他
shallowRef 和 shallowReactive用于创建浅层的响应式引用和对象。customRef创建一个自定义的 ref并对其依赖项进行追踪。
这些函数和钩子共同构成了Vue 3的Composition API为开发者提供了更加灵活和可复用的代码组织方式。
二、请解释Vue 3的响应式系统是如何工作的
Vue 3的响应式系统是基于ES6的Proxy对象和Reflect API实现的其工作原理可以概括如下 Proxy代理 当一个Vue组件被创建时Vue会使用Proxy对象来创建一个响应式代理对象这个代理对象会“包裹”组件的data对象。Proxy对象允许Vue拦截并自定义data对象上任意属性的读取get和修改set。 数据劫持 Vue通过Proxy对象的getter和setter方法来实现对data对象属性的“劫持”。当组件的data对象中的某个属性被访问时会触发Proxy对象的getter方法Vue会在这里进行依赖收集。当组件的data对象中的某个属性被修改时会触发Proxy对象的setter方法Vue会在这里进行依赖通知和更新操作。 依赖收集和触发 依赖收集是Vue响应式系统的核心机制之一。当组件的某个属性被访问时Vue会记录下当前正在计算这个属性的所有依赖例如计算属性、侦听器、渲染函数等。当data对象的某个属性发生变化时Vue会遍历这个属性的所有依赖并通知它们进行更新。 组件更新 当组件的data对象发生变化时Vue会触发组件的重新渲染。在这个过程中Vue会重新执行组件的渲染函数生成新的虚拟DOM树。然后Vue会对比新旧虚拟DOM树找出需要更新的真实DOM节点并只更新这些节点从而实现高效的DOM更新。 优化性能 Vue 3的响应式系统通过Proxy和Reflect API的使用使得数据的变化能够被更精确地追踪和响应从而减少了不必要的计算和DOM更新。同时Vue 3还通过优化Diff算法和虚拟DOM的实现进一步提高了组件的渲染性能。
总结来说Vue 3的响应式系统通过Proxy代理和依赖收集机制实现了对组件数据变化的精确追踪和高效响应。这种机制使得Vue 3在性能上有了显著提升同时也为开发者提供了更加灵活和强大的数据驱动视图的能力。