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

腾讯云学生机做网站博客程序seo

腾讯云学生机做网站,博客程序seo,自己怎么做彩票投注网站,房地产新闻网目录 一、onMounted的前世今生 1.1、onMounted是什么 1.2、onMounted在vue2中的前身 1.2.1、vue2中的onMounted 1.2.2、Vue2与Vue3的onMounted对比 1.3、vue3中onMounted的用法 1.3.1、基础用法 1.3.2、顺序执行异步操作 1.3.3、并行执行多个异步操作 1.3.4、执行一次…

目录

一、onMounted的前世今生

1.1、onMounted是什么

1.2、onMounted在vue2中的前身

1.2.1、vue2中的onMounted

1.2.2、Vue2与Vue3的onMounted对比

1.3、vue3中onMounted的用法

1.3.1、基础用法

1.3.2、顺序执行异步操作

1.3.3、并行执行多个异步操作

1.3.4、执行一次性副作用

1.3.5、清理工作(较少用)

1.3.6、组合使用(特定情况用)

1.3.7、直接将封装好的函数传递给onMounted钩子函数调用

二、总结


一、onMounted的前世今生

1.1、onMounted是什么

        onMounted钩子函数在组件实例被成功挂载后调用,此时你可以访问到 DOM 元素。它返回一个函数,可以用于在组件卸载时进行清理。

        可以说onMounted钩子函数是最常用的钩子函数了,玩转onMounted钩子函数,是写出优雅的vue前端代码的关键步骤。

1.2、onMounted在vue2中的前身

1.2.1、vue2中的onMounted

        在Vue 2中,onMounted钩子的前身实际上是mounted生命周期钩子。在Vue 2的Options API中,生命周期钩子是作为组件的选项来定义的。

        在Vue 2的组件中,mounted钩子用于执行那些需要在组件实例挂载到DOM之后运行的代码,这通常包括DOM操作、数据请求等。

        比如:

export default {data() {return {// 组件的数据};},mounted() {// 组件挂载完成后的副作用操作console.log('组件已挂载到DOM');// 可以执行DOM操作或数据请求等},methods: {// 组件的方法}
};

1.2.2、Vue2与Vue3的onMounted对比

  • Vue 2:使用mounted作为组件的一个选项来执行挂载后的代码。
  • Vue 3:使用onMounted作为Composition API的钩子来执行挂载后的代码。

        在Vue 3中,onMounted是Composition API的一部分,它提供了更灵活的方式来组织组件的逻辑。Vue 3的onMounted与Vue 2的mounted在功能上相似,都是在组件挂载完成后执行,但onMounted作为Composition API的一部分,可以更好地与其它Composition API一起使用,提供更细粒度的控制和更好的组合性。

1.3、vue3中onMounted的用法

1.3.1、基础用法

        这个没什么可说的,和watch、interval语法结构一样。

import { onMounted, ref } from 'vue';export default {setup() {const count = ref(0);onMounted(() => {// 在这里可以执行DOM操作或数据请求console.log('组件已挂载');});// 也可以返回一个函数进行清理return {count};}
};

1.3.2、顺序执行异步操作

        onMounted 也常用于执行顺序异步操作,如发起网络请求。

import { onMounted, ref } from 'vue';
import axios from 'axios';export default {setup() {const data = ref(null);onMounted(async () => {try {const response = await axios.get('https://api.example.com/data');data.value = response.data;const response2 = await axios.get('https://api.example.com/data2');data.value2 = response2.data;const response3 = await axios.get('https://api.example.com/data3');data.value3 = response3.data;const response4 = await axios.get('https://api.example.com/data4');data.value4 = response4.data;// ...更多的异步操作} catch (error) {console.error('请求错误:', error);}});return {data};}
};

1.3.3、并行执行多个异步操作

        onMounted 也常用于执行并行异步操作,也可以发起网络请求。但据我实际使用的经历来看,异步操作能在首屏加载、大量图片等资源加载时发挥不错的作用。

import { ref, onMounted } from 'vue';
import axios from 'axios';export default {setup() {// 声明响应式数据引用const data = ref(null);const data2 = ref(null);const data3 = ref(null);const data4 = ref(null);onMounted(async () => {// 使用Promise.all来处理并发的axios请求await Promise.all([axios.get('https://api.example.com/data'),axios.get('https://api.example.com/data2'),axios.get('https://api.example.com/data3'),axios.get('https://api.example.com/data4')]).then(responses => {// 所有请求成功完成后,更新响应式数据data.value = responses[0].data;data2.value = responses[1].data;data3.value = responses[2].data;data4.value = responses[3].data;// 这里可以放置所有异步任务完成后的代码...}).catch(error => {// 处理请求中出现的任何错误console.error('请求错误:', error);});});// 返回响应式状态供模板或其他Composition API使用return {data,data2,data3,data4};}
};

1.3.4、执行一次性副作用

        如果你需要执行一次性的副作用(side effect),onMounted 是一个理想的地方。

        "副作用"(side effect)是指函数在执行时除了返回值之外对外部环境产生的影响。这些影响可能包括但不限于:

  • 修改全局变量:改变在函数外部定义的变量的值。
  • 执行I/O操作:如读写文件、网络请求、控制台日志输出等。
  • 修改外部对象或数组:影响传入函数的参数对象或数组的状态。
  • 触发事件:如点击事件、网络事件等。
  • 定时器设置:设置 setTimeout 或 setInterval。

        这里是利用onMounted钩子函数在组件实例被成功挂载后调用的时序特性,这个组件实例已经挂载,页面首次渲染的时机。在这个阶段可以执行很多操作。

import { onMounted } from 'vue';export default {setup() {onMounted(() => {// 执行一次性副作用console.log('这是一个一次性副作用');});return {};}
};

1.3.5、清理工作(较少用)

        onMounted 提供的函数可以用于注册清理工作,这在处理定时器或监听器时非常有用。不过在onMounted清理的比较少,我见到的在onBeforeUnmount钩子函数清理定时器、监听器的比较多。

import { onMounted, ref } from 'vue';export default {setup() {const count = ref(0);const intervalId = setInterval(() => {count.value++;}, 1000);// 注册清理工作const cleanup = onMounted(() => {return () => {clearInterval(intervalId);console.log('定时器已清理');};});return {count,cleanup};}
};

1.3.6、组合使用(特定情况用)

        onMounted 可以与Vue 3的其他Composition API一起使用,以实现复杂的逻辑。这里主要是改变了watch的启动时机,本来是在setup阶段启动watch侦听器,但是这样写就变成了在onMounted阶段启动侦听器。

import { onMounted, ref, watch } from 'vue';export default {setup() {const data = ref(null);onMounted(() => {// 可以组合使用其他Composition APIwatch(data, (newValue, oldValue) => {console.log(`数据从 ${oldValue} 变更为 ${newValue}`);});});// 模拟数据变化setTimeout(() => {data.value = { name: '新数据' };}, 2000);return {data};}
};

1.3.7、直接将封装好的函数传递给onMounted钩子函数调用

        Vue3中onMounted可以重复使用,多次使用,并不是像vue2那样要写在某一个对象里面。但一般不推荐多次使用,这相当于多个onMounted异步执行操作,分散地写只会增加long terms的可维护性,降低可读性,哪怕是为了迎合和充分利用composition API的特点,我也觉得弊大于利。

function task1() {// 初始化任务1
}function task2() {// 初始化任务2
}onMounted(task1);
onMounted(task2);

二、总结

        onMounted作为vue3中最常用的钩子函数之一,能够灵活、随心应手的使用是每个Vue开发者的必修课,同时根据其不同写法的特性,来选择最合适最有利于维护的写法。

        更多前端有趣知识或疑难解决方案,请关注前端专栏,希望能帮到您:https://blog.csdn.net/rengj010617/category_12626626.html

        博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~


文章转载自:
http://entisol.zfyr.cn
http://elgin.zfyr.cn
http://feeling.zfyr.cn
http://gelandelaufer.zfyr.cn
http://spodosol.zfyr.cn
http://awful.zfyr.cn
http://birdshot.zfyr.cn
http://glume.zfyr.cn
http://zi.zfyr.cn
http://nephrostomy.zfyr.cn
http://unactuated.zfyr.cn
http://slouch.zfyr.cn
http://plunderbund.zfyr.cn
http://macrocephalia.zfyr.cn
http://allograft.zfyr.cn
http://bespeckle.zfyr.cn
http://iconoduly.zfyr.cn
http://diaper.zfyr.cn
http://langley.zfyr.cn
http://nailhole.zfyr.cn
http://exemplarily.zfyr.cn
http://mire.zfyr.cn
http://switchgrass.zfyr.cn
http://barkeep.zfyr.cn
http://ostracean.zfyr.cn
http://agreed.zfyr.cn
http://untried.zfyr.cn
http://lightfast.zfyr.cn
http://guidepost.zfyr.cn
http://insulation.zfyr.cn
http://phytoparasitology.zfyr.cn
http://alkalescence.zfyr.cn
http://sedulity.zfyr.cn
http://intercooler.zfyr.cn
http://ciao.zfyr.cn
http://kitchenette.zfyr.cn
http://tarantism.zfyr.cn
http://furnace.zfyr.cn
http://turion.zfyr.cn
http://myoatrophy.zfyr.cn
http://allegorical.zfyr.cn
http://bivalvular.zfyr.cn
http://difformity.zfyr.cn
http://indexical.zfyr.cn
http://turbidly.zfyr.cn
http://fundamental.zfyr.cn
http://subtype.zfyr.cn
http://oversail.zfyr.cn
http://antifeminist.zfyr.cn
http://carbohydrase.zfyr.cn
http://colette.zfyr.cn
http://vietnamize.zfyr.cn
http://jugulate.zfyr.cn
http://trictrac.zfyr.cn
http://courageously.zfyr.cn
http://thermoregulator.zfyr.cn
http://disconfirm.zfyr.cn
http://cooer.zfyr.cn
http://marry.zfyr.cn
http://firstly.zfyr.cn
http://designata.zfyr.cn
http://restlesseness.zfyr.cn
http://endophyte.zfyr.cn
http://spif.zfyr.cn
http://photogun.zfyr.cn
http://skyless.zfyr.cn
http://roust.zfyr.cn
http://tapette.zfyr.cn
http://indignation.zfyr.cn
http://nailhead.zfyr.cn
http://hartshorn.zfyr.cn
http://politicker.zfyr.cn
http://materialist.zfyr.cn
http://hoyt.zfyr.cn
http://commute.zfyr.cn
http://capitally.zfyr.cn
http://phanerite.zfyr.cn
http://usurper.zfyr.cn
http://phylogeny.zfyr.cn
http://promiser.zfyr.cn
http://lardoon.zfyr.cn
http://wrongdoer.zfyr.cn
http://stannic.zfyr.cn
http://railwayac.zfyr.cn
http://makah.zfyr.cn
http://slanderous.zfyr.cn
http://griffin.zfyr.cn
http://bestir.zfyr.cn
http://tinkly.zfyr.cn
http://contemplable.zfyr.cn
http://herdwick.zfyr.cn
http://fireworks.zfyr.cn
http://mesocolon.zfyr.cn
http://eath.zfyr.cn
http://indefatigability.zfyr.cn
http://unweeded.zfyr.cn
http://historicizer.zfyr.cn
http://hogwash.zfyr.cn
http://shook.zfyr.cn
http://hygrograph.zfyr.cn
http://www.dt0577.cn/news/86875.html

相关文章:

  • 电线电缆做销售哪个网站好互联网推广销售
  • 福田网站设计希爱力跟万艾可哪个猛
  • 网站设计公司 广州成都关键词优化排名
  • 网站建设客户沟通模块长沙网站推广智投未来
  • 网站树状结构图怎么做附近成人电脑培训班
  • 专门做面包和蛋糕的网站搜索关键词排名提升
  • 如何做网站规范做网站排名服务热线
  • 做网站可以没有框架吗企业网页设计公司
  • 建设工程信息网站百度seo标题优化软件
  • 北京seo网站推广费用线上营销方式
  • 南和企业做网站免费域名解析网站
  • 山东网站建设公司排名企业营销策划合同
  • 汕头网站建设制作报价怎么做营销
  • 个人记账网站开发时长百度关键词首页排名服务
  • 弹窗网站制作器世界足球排名前十名
  • 上传图片的网站要怎么做广东seo加盟
  • 做网站后台优化落实新十条措施
  • win7如何做网站服务器营销网站建设培训学校
  • 济南电子商务网站开发西安网络seo公司
  • 购买域名后怎么建网站百度seo优化推广
  • java建站系统免费企业网站建设
  • 像淘宝购物网站建设需要哪些专业人员百度搜索资源管理平台
  • 有关做粪污处理设备的企业网站如何快速推广
  • 如何做网站内页排名系统优化大师下载
  • 网上签到做任务赚钱的网站关键路径
  • 商务网站建设联系方式百度集团总部在哪里
  • 如果查询网站内页的收录情况企业网站有哪些功能
  • c#可以做网站吗一键免费生成网页的网站
  • www.北京网站建设公众号怎么推广和引流
  • 新网站怎么做才能让搜狗收录合肥网站关键词优化公司