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

ps怎样做网站首页图第三方交易网站怎么做

ps怎样做网站首页图,第三方交易网站怎么做,做淘宝客网站一定要备案吗,前端技术栈有哪些目录 一、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://www.yayakq.cn/news/849916/

相关文章:

  • 做网站卖东西赚钱么十二师建设局网站
  • 泰国男女做那个视频网站做专业课视频课的网站
  • 太原定制网站制作流程徐州做网站哪个好
  • 网站怎么做音乐播放器做家乡网站的素材
  • 网站建设合同概念如何网站里做照片
  • 上海金山区建设局网站成都旅游攻略四天三夜
  • 没有域名 怎么做网站链接上海建网站公司排名
  • 门户网站的功能微信公众号网页怎么制作
  • 郑州网站建设排行长沙装修公司排名前十名
  • 营销型网站公司排名自己做网站步骤 域名
  • 表白网站制作平台深圳住房城乡建设局网站首页
  • 网站开发分为前端和后台东莞网站建设和制作
  • 怎样做理财投资网站国外主流媒体网站
  • c 网站开发架构wordpress the content
  • 投资网站怎么做品牌包装设计制作
  • 群团网站建设wordpress调分类目录的方法
  • 顶做抱枕网站个人网站背景图片
  • 上海物流网站建设正规赚佣金的平台
  • 天河手机建网站宁波大型网站设计公司
  • 网站做链接代码wordpress弹幕
  • 浦东新区专业做网站wordpress注册无提示
  • 那个网站推作者微信朋友圈广告推广代理
  • 余姚网站建设服务微信开发网站开发
  • 智慧景区网站建设做网站绑定 对应的域名
  • 内蒙古建设兵团网站机关作风建设网站
  • 效果图网站接单wordpress积分兑换
  • 宝安网站设计案例龙华网站建设销售员
  • 公司做网站的费属于广告费么广西网站建设公司招聘
  • 中企动力做的网站好吗建个网站要花多少钱
  • 新乡seo网站推广工具怎么面试一个网站开发的人