vue3组合式函数

vue3的组合式函数的作用是封装和复用响应式状态的函数。只能在setup 标签的script标签汇总或者setup函数中使用。

普通的函数只能调用一次,但是组合式函数接受到响应式参数,当该值发生变化时,也会触发相关函数的重新加载。

如下
定义了一个,获取用户详情的组合式函数,封装到单独的js中,

import { ref, toValue, watchEffect } from 'vue'

 export function getUserInfo(url) {
    const data = ref(null)
    const error = ref(null)


    watchEffect(async () => {
        data.value = null
        error.value = null
        try {
            const res = await fetch(toValue(url))
            data.value = await res.json()
        } catch (e) { 
            error.value = e
        }
    })
    return {data,error}
}

在这里插入图片描述

函数返回2个响应式参数,data和error。
然后再Demo组件中引入该脚本,并将data和error渲染到页面上,
当url发生变化时,函数又重新被调用了。

<script setup lang="ts">
    import { ref ,computed} from 'vue'
import {getUserInfo} from '../pulic/fetch.user.js'
    
    //const url=ref("http://localhost:3000/user/info/query?id=1")

    const baseUrl = 'http://localhost:3000/user/info/query?id='
    const id = ref(1)
    const url = computed(() => baseUrl + id.value)

    const {data,error} = getUserInfo(url)
</script>

<template>
  <div>
    Load post id:
  <button v-for="i in 5" @click="id = i" :key="i">{{ i }}</button>
    <h1>{{ data }}</h1>
    <h1>{{ error }}</h1>
  </div>

</template>

点击1按钮
在这里插入图片描述
点击2按钮
在这里插入图片描述

https://cn.vuejs.org/guide/reusability/composables.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/507044.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

算法(滑动窗口四)

1.串联所有单词的子串 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如&#xff0c;如果 words ["ab","cd","ef"]&#xff…

《QDebug 2024年3月》

一、Qt Widgets 问题交流 1. 二、Qt Quick 问题交流 1.Qt5 ApplicationWindow 不能使用父组件 Window 的 transientParent 属性 ApplicationWindow 使用 transientParent 报错&#xff1a; "ApplicationWindow.transientParent" is not available due to compone…

Android车载设备开发相关名词介绍

一、通讯相关 1、ECALL 如遭遇紧急情况&#xff0c;用户可按下该键以最高优先级接通呼叫中心&#xff0c;人工坐席将同时获取客户车辆的重要数据并协助驾驶员脱离危险。 实现原理 E-Call 的核心思想是利用车载卫星定位系统获取车辆的位置信息&#xff0c;在事故发生后&#x…

性能测试入门 —— 什么是性能测试PTS?

性能测试PTS&#xff08;Performance Testing Service&#xff09;是一款简单易用&#xff0c;具备强大的分布式压测能力的SaaS压测平台。 PTS可以模拟复杂的业务场景&#xff0c;并快速精准地调度不同规模的流量&#xff0c;同时提供压测过程中多维度的监控指标和日志记录。您…

输出100~200之间的素数(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>//实现素数判断函数&#xff1b; int Prime(int number) {//初始化变量值&#xff1b;int divided 2;int JudgementCondition 0;//循环判断素数&#xff1b;wh…

Git的使用【入门级】--下载github项目

1.下载Git Git for Windows Windows版本进入如上网址下载&#xff1a; 点击Download即可&#xff0c;建议下载到内存多的盘&#xff0c;我是下载到移动固态优盘中&#xff0c;以免C盘太挤。 验证Git是否安装成功&#xff1a; 双击git-bash.exe&#xff0c;命令行输入git versi…

【Django开发】0到1美多商城项目md教程第4篇:图形验证码,1. 图形验证码接口设计【附代码文档】

美多商城完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;欢迎来到美多商城&#xff01;&#xff0c;项目准备。展示用户注册页面&#xff0c;创建用户模块子应用。用户注册业务实现&#xff0c;用户注册前端逻辑。图形验证码&#xff0c;图形验证码接口设…

SQL,group by分组后分别计算组内不同值的数量

SQL&#xff0c;group by分组后分别计算组内不同值的数量 如现有一张购物表shopping 先要求小明和小红分别买了多少笔和多少橡皮&#xff0c;形成以下格式 SELECT name,COUNT(*) FROM shopping GROUP BY name;SELECT name AS 姓名,SUM( CASE WHEN cargo 笔 THEN 1 ELSE 0 END)…

关于Oracle VM VirtualBox无法查询IP地址的原因

1.如下&#xff0c;输入ifconfig却没有显示我框住的显示IP。 2.原因有可能&#xff1a; &#xff08;1&#xff09;主机没连上网络。 &#xff08;2&#xff09;虚拟机网络设置不正确。

Python问题列表

文章目录 1、使用pip安装的模块都存放到哪里了&#xff1f;2、安装fitz包报错&#xff0c;如何解决&#xff1f;3、python代码运行时&#xff0c;控制台输出乱码如何解决。4、vscode中第三方库不自动补齐 1、使用pip安装的模块都存放到哪里了&#xff1f; 答&#xff1a; pip是…

GLTFExporter是一个用于将3D场景导出为glTF格式的JavaScript库。

demo案例 GLTFExporter是一个用于将3D场景导出为glTF格式的JavaScript库。下面我将逐个讲解其入参、出参、属性、方法以及API使用方式。 入参&#xff08;Input Parameters&#xff09;: GLTFExporter的主要入参是要导出的场景对象和一些导出选项。具体来说&#xff1a; s…

Linux 入门及其基本指令(一文即入门)

目录 0 .引言 1. XShell 远程登录 Linux 1.1 云服务器 1.2. XShell 远程登陆 Linux 2. 详解 Linux 基本指令 2.1 ls 指令 2.2 pwd 指令 2.3 cd 指令 2.4 touch 指令 2.5 mkdir指令 2.6 rmdir指令 && rm 指令 0 .引言 如今&#xff0c;Linux 在服务器…

【Qt】系统相关(事件)

目录 一、概念二、事件处理三、鼠标事件1.鼠标点击事件2.鼠标释放事件3.鼠标移动事件 四、按键事件 一、概念 事件是应用程序内部或者外部产生的事情或者动作的统称。在Qt中使用一个对象来表示一个事件。所有的Qt事件均继承于抽象类QEvent。事件是由系统或者Qt平台本身在不同的…

【数据结构】——树和二叉树相关概念(全网超级详解)

创作不易&#xff0c;家人们来一波三连吧&#xff1f;&#xff01; 前言 世界上最大的树--雪曼将军树&#xff0c;这棵参天大树不是最长也不是最宽&#xff0c;是不是很奇怪&#xff0c;大只是他的体积是最大的&#xff0c;看图片肯定是感触不深&#xff0c;大家可以自己去看…

电脑卡顿怎么办?教你三招,轻松解决卡顿问题!

在现代社会&#xff0c;电脑已成为我们日常生活和工作中不可或缺的工具。然而&#xff0c;随着使用时间的增长&#xff0c;不少用户可能会遇到电脑卡顿的问题。卡顿不仅影响工作效率&#xff0c;还可能造成数据丢失等严重后果。本文将为大家介绍三种解决电脑卡顿问题的方法&…

使用 CSS 创建响应式图像滑块

使用 CSS 创建响应式图像滑块 效果展示 PC 端效果 移动端 / iPad 效果 CSS 知识点 媒体查询知识点复习position: absolute 的使用复习:nth-child 的使用复习 页面需求及实现思路 需求 页面会根据设备大小形成不同的布局方式当前展示图片放大并且展示对应的标题和描述其他…

智能公交调度管理服务系统

一、 背景 从上世纪末开始&#xff0c;为了缓解经济发展带来的道路交通方面的压力&#xff0c;绝大多数国家的公共交通部门方面进行了大量的投入&#xff0c;都在研发各种先进的技术来改善交通状况&#xff0c;其中包括了对公交 车的定位、对车辆实施全方位的虽然有的监控、自…

Leo赠书活动-23期 【Python数据分析】文末送书

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 赠书活动专栏 ✨特色专栏&#xff1a;…

告别繁琐代码,只需简单拖拽,便可从0到1开发!

告别繁琐代码&#xff0c;拥抱科技未来&#xff01;只需简单拖拽&#xff0c;便可从0到1开发&#xff01;代码即刻生成&#xff0c;一键下载&#xff0c;轻松上手。我们的低代码平台&#xff0c;不仅高效便捷&#xff0c;更完全开源&#xff0c;让你自由探索编程的无限可能&…

Vue3性能优化之自定义指令实现图片懒加载

图片懒加载是一种常见性能优化的方式&#xff0c;进入网址时不全部加载图片 当用户进入图片可视区域时加载 不仅大大减少了服务器的压力 也可以时首屏时间变短 图片懒加载的实现原理&#xff1a;在图片没进入可视区域的时候&#xff0c;只需要让 img 标签的 src 属性指向一张…