当前位置: 首页 > wzjs >正文

香河做网站公司关键词排名是由什么决定的

香河做网站公司,关键词排名是由什么决定的,网站开发java 开源,登陆网站显示域名解析错误怎么办Vue 3 引入了 Composition API,使得生命周期钩子(hooks)在函数式风格中更清晰地表达。本篇文章将从官方 hooks 的使用、实现原理以及自定义 hooks 的结构化思路出发,全面理解 Vue 3 的 hooks 系统。 📘 1. Vue 3 官方生…

Vue 3 引入了 Composition API,使得生命周期钩子(hooks)在函数式风格中更清晰地表达。本篇文章将从官方 hooks 的使用、实现原理以及自定义 hooks 的结构化思路出发,全面理解 Vue 3 的 hooks 系统。


📘 1. Vue 3 官方生命周期 hooks 一览

Hook 函数触发时机
onBeforeMount组件挂载前
onMounted组件挂载后
onBeforeUpdate数据变更、视图更新前
onUpdated数据变更、视图更新后
onBeforeUnmount卸载前
onUnmounted卸载后
onActivated<KeepAlive> 激活时
onDeactivated<KeepAlive> 失活时
onErrorCaptured错误捕获
onRenderTracked响应式依赖追踪
onRenderTriggered响应式依赖触发更新

✅ 2. 使用示例

<script setup>
import { onMounted } from 'vue'onMounted(() => {console.log('组件已挂载完成')
})
</script>

<script setup> 中调用 hooks 更简洁,无需访问 setup() 返回对象。


🧠 3. 实现原理解析

生命周期 hooks 的注册基于当前组件实例 currentInstance

export function onMounted(hook: Function, target = currentInstance) {return injectHook('mounted', hook, target)
}

核心函数 injectHook

function injectHook(type: LifecycleHooks, hook: Function, target) {const hooks = target[type] || (target[type] = [])hooks.push(hook)
}

当组件进入对应生命周期阶段时,Vue 内部会遍历执行挂载在实例上的所有该类型 hook。


♻️ 4. 自定义 Hooks(组合逻辑复用)

Vue 3 鼓励将逻辑拆分为 useXxx 函数,以便跨组件复用。

🎯 示例:useWindowSize

// useWindowSize.ts
import { ref, onMounted, onUnmounted } from 'vue'export function useWindowSize() {const width = ref(window.innerWidth)const height = ref(window.innerHeight)const update = () => {width.value = window.innerWidthheight.value = window.innerHeight}onMounted(() => window.addEventListener('resize', update))onUnmounted(() => window.removeEventListener('resize', update))return { width, height }
}

使用方式:

<script setup>
import { useWindowSize } from '@/hooks/useWindowSize'const { width, height } = useWindowSize()
</script>

🧠 自定义 hooks 的原理

  • 本质是普通函数,内部调用 Vue 组合式 API(如 ref, watch, onMounted
  • 在组件 setup() 时执行,响应式变量挂接到当前组件上下文
  • 内部调用生命周期钩子时会依赖当前的 getCurrentInstance()

📌 5. 总结对比

类型示例作用特点
官方生命周期 HookonMounted()注册生命周期回调由 Vue 内部调度
自定义 HookuseMousePosition()封装响应式状态 + 逻辑复用是普通函数,可组合嵌套

📚 推荐阅读

  • Vue 3 官方生命周期 API
  • Vue 核心源码 Lifecycle 实现
  • VueUse - 高质量 Hooks 集合

✍️ 结语

生命周期 hooks 是 Vue 3 中非常核心的机制之一。理解它们的用法与实现,有助于我们编写结构清晰、逻辑可复用的组件。

如果你对 Vue 源码感兴趣,不妨进一步探索 Vue 是如何依赖 currentInstance 来处理作用域钩子的注册和调用的。

http://www.dtcms.com/wzjs/515880.html

相关文章:

  • 做肮脏交义的网站5118站长工具
  • 网站的注册晚上必备免费软件大全苹果
  • 国外卖货平台有哪些阿亮seo技术顾问
  • 晋城网站设计人企业查询app
  • 简答电子商务网站建设流程成功营销十大经典案例
  • 公关公司服务的特点包括天津谷歌优化
  • 做网站一定要有空间吗广东东莞大益队
  • 霞浦网站建设800元做小程序网站
  • 代办网站建设推广员是干什么的
  • 北京红酒网站建设网络营销的三大基础
  • 做养殖推广什么网站好铁力seo
  • 郑州做网站推软件开发培训机构
  • 全网最稳定自助下单平台云优化seo软件
  • 图片网站php源码seo的方法
  • 做旅游业务的商业网站搜索引擎优化是什么?
  • 关于电商网站的数据中心建设方案昆明seo关键词排名
  • 响应式网站模板是什么原因搜索引擎大全
  • 如何做响应式网站设计学seo如何入门
  • 进出成都最新通知seo成都培训
  • 网站开发选定制还是模板国内广告联盟平台
  • 免费申请的网站seo高级优化方法
  • 做国外夏令营的网站2021热门网络营销案例
  • 杨凌网站建设哪家好惠州网络推广
  • 巴士定制网站开发百度推广后台登陆官网
  • flash做网站步骤旺道优化软件
  • 网站建设站外推广渠道有哪些
  • 汉阳网站建设哪家便宜个人网站seo入门
  • 网站做支付宝接口吗站长工具 站长之家
  • wordpress avatar上海seo公司哪家好
  • 成都网站建设哪里好点网页点击量统计