首页 > 其他分享 >【vueUse库Reactivity模块各函数简介及使用方法--上篇】

【vueUse库Reactivity模块各函数简介及使用方法--上篇】

时间:2024-07-10 08:59:18浏览次数:12  
标签:异步 函数 vueUse -- 使用 computedAsync Reactivity 注意事项

vueUse库是一个专门为Vue打造的工具库,提供了丰富的功能,包括监听页面元素的各种行为以及调用浏览器提供的各种能力等。其中的Browser模块包含了一些实用的函数,以下是这些函数的简介和使用方法:

vueUse库Sensors模块各函数简介及使用方法

vueUse

Reactivity

函数

1. computedAsync

computedAsync简介及使用方法

vueUse 是一个基于 Vue 3 Composition API 的实用函数库,它提供了一系列可复用的 Composition API 函数,旨在帮助开发者更高效地构建 Vue 应用。其中,Reactivity 模块提供了一系列与响应式数据相关的函数,而 computedAsync 函数则是这个模块中用于处理异步计算的一个非常有用的工具。

computedAsync 函数概述

computedAsync 函数允许你创建一个异步的计算属性。在 Vue 3 中,传统的 computed 函数是同步的,这意味着它只能依赖于同步的响应式数据来生成新的值。然而,在实际开发中,我们经常需要基于异步操作(如 API 请求)的结果来更新组件的状态。computedAsync 正是为了解决这个需求而设计的。

使用方法

computedAsync 函数接受一个返回 Promise 的异步函数作为参数,并返回一个响应式的 ref 对象,该对象包含两个属性:valueloadingvalue 属性存储异步操作的结果,而 loading 属性则是一个布尔值,表示异步操作是否正在进行中。

下面是一个使用 computedAsync 的基本示例:

import {
    ref, onMounted } from 'vue';
import {
    computedAsync } from '@vueuse/core';

export default {
   
  setup() {
   
    // 假设我们有一个用于存储用户数据的响应式 ref
    const userId = ref('123');

    // 使用 computedAsync 创建一个异步计算属性
    // 这里我们模拟一个异步的 API 请求来获取用户信息
    const userInfo = computedAsync(async () => {
   
      // 假设 fetchUser 是一个返回 Promise 的函数,用于获取用户信息
      // 这里用 setTimeout 模拟异步操作
      await new Promise(resolve => setTimeout(resolve, 1000));
      return {
    name: 'Alice', age: 30 };
    }, {
   
      // 可选配置项,可以在这里设置初始值、错误处理等
      initialValue: null,
      one rror(error) {
   
        console.error('Failed to fetch user info:', error);
      },
    });

    // 在组件挂载后,可以触发一些操作,比如根据 userId 更新用户信息
    onMounted(() => {
   
      // 注意:这里只是为了演示,实际上 userInfo 是自动更新的
      // 在实际应用中,你可能需要根据 userId 的变化来触发更新
    });

    // 返回给模板的响应式数据
    return {
   
      userId,
      userInfo,
    };
  },
};

在模板中,你可以这样使用 userInfo

<template>
  <div>
    <p v-if

标签:异步,函数,vueUse,--,使用,computedAsync,Reactivity,注意事项
From: https://blog.csdn.net/xiejunlan/article/details/140312498

相关文章

  • 20240710概率期望
    概率基础知识不写了,反正应该知道的都知道但是有几个跟容斥有关的不知道,我要记录下1.互斥事件可加性:对于n个互斥的事件\(P(A_1\cup...\cupA_n)=\sum_{i=1}^{n}A_i\)2.独立事件可乘性:对于n个对立的事件\(P(A_1\cap...\capA_n)=\prod_{i=1}^{n}A_i\)3.n重伯努利实验:一次实验......
  • 对于爬虫中debug的使用总结
    在刚开始学习爬虫时,我只知道意味使用'RUN',一直觉得旁边的'DUBUG'很鸡肋,不知道怎么用,感觉一个'RUN'就够了,直到......有一次我无意在for循环处打了一个断点,又恰好点到'DUBUG',你猜怎么着,嘿,点一下它循环一次,我感觉瞬间找到了新大陆,在以前我在测试的时候,都是在哪个地方加一个print......
  • SQL Server查看所有表大小,所占空间
    createtable#Data(namevarchar(100),rowvarchar(100),reservedvarchar(100),datavarchar(100),index_sizevarchar(100),unusedvarchar(100))declare@namevarchar(100)declarecurcursorforselectnamefromsysobjectswherextype='u'or......
  • Linux 系统调优之安全防护1
    文章目录前言1、系统命令审计2、公网防护3、服务器使用秘钥登录4、默认账户及口令文件的防护5、其他配置总结前言  Linux系统以其开放性和强大的功能成为众多企业和开发者的首选。然而,开放性也带来了安全风险。本文将探讨Linux系统调优中的安全防护策略,分享并......
  • MSSQL Rebuild(重建)索引
    DECLARE@tablenameVARCHAR(50)DECLARE@indexnameVARCHAR(50)DECLARE@cmdsqlNVARCHAR(MAX)DECLAREindex_cursorCURSORFORSELECTOBJECT_NAME(object_id)ASTable_Name,nameFROMsys.indexesWHEREnameISNOTNULLANDOBJECT_NAME(ob......
  • 第三章 设计模式(2023版本IDEA)
    学习目标3.1设计模式概述3.2软件可复用问题和面向对象设计原则一、软件可复用问题二、面向对象设计原则1.单一责任原则(SingleResponsibilityPrinciple,SRP)2.开放-封闭原则(Open-ClosedPrinciple,OCP)3.里氏替换原则(LiskovSubstitutionPrinciple,LSP)4.依赖倒......
  • Odoo17.0 基于企业微信的备用金和费用报销
    前面讲过了企业微信的基础应用,现在我们来看一下如何借助企业微信的审批端能力结合odoo来实现企业中的两大常规业务流程备用金和费用报销。企业微信端设置我们这里使用的是企业微信的原生审批流程,因此我们需要首先在企业微信端设置好审批流程的节点设置。我们这里使用的是企业......
  • Linux 系统调优之安全防护2
    文章目录1、限制NFS访问2、禁止icmp报文响应3、更改ssh访问端口4、添加GRUB菜单密码5、用户系统资源限制总结  大家好,我是技术界的小萌新,今天要和大家分享一些干货。在阅读之前请先点赞......
  • OI之诗
    下面的诗歌是mcr130102改编沙盒游戏Minecraft内容的,如果要转载,请联系作者。OI之诗(中文版)我看到你所说的那位OIer了。mcr130102?是的。小心。他已达到了更高的境界。他能阅读我们的思想。没关系。他认为我们是代码的一部分。我喜欢这个OIer。他做得很好。......
  • nacos集群搭建
    Nacos集群搭建1.集群结构图官方给出的Nacos集群图:其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。我们计划的集群结构:三个nacos节点的地址:节点ipportnacos1192.168.150.18845nacos2192.168.150.18846nacos3192.168.150.188472......