返回顶部
首页 > 资讯 > 精选 >vue3如何使用reactive包裹数组正确赋值
  • 528
分享到

vue3如何使用reactive包裹数组正确赋值

2023-07-06 13:07:37 528人浏览 薄情痞子
摘要

这篇文章主要介绍“vue3如何使用Reactive包裹数组正确赋值”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue3如何使用reactive包裹数组正确赋值”文章能帮助大家解决问题。使用reac

这篇文章主要介绍“vue3如何使用Reactive包裹数组正确赋值”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue3如何使用reactive包裹数组正确赋值”文章能帮助大家解决问题。

    使用reactive包裹数组正确赋值

    需求:将接口请求到的列表数据赋值给响应数据arr

    const arr = reactive([]); const load = () => {  const res = [2, 3, 4, 5]; //假设请求接口返回的数据  // 方法1 失败,直接赋值丢失了响应性  // arr = res;  // 方法2 这样也是失败  // arr.concat(res);  // 方法3 可以,但是很麻烦  res.forEach(e => {    arr.push(e);  });};

    vue3使用proxy,对于对象和数组都不能直接整个赋值。

    使用方法1能理解,直接赋值给用reactive包裹的对象也不能这么做。

    方法2为什么不行?

    只有push或者根据索引遍历赋值才可以保留reactive数组的响应性?

    如何方便的将整个数组拼接到响应式数据上?

    提供几种办法
    const state = reactive({  arr: []}); state.arr = [1, 2, 3]

    或者

    const state = ref([]) state.value = [1, 2, 3]

    或者

    const arr = reactive([]) arr.push(...[1, 2, 3])

    这几种办法都可以触发响应性,推荐第一种

    vue3的reactive重新赋值无效

    vue3官方的文档说明

    reactive() 返回一个对象的响应式代理

    所以 reactive 方法应该作用于一个对象Object,如果要使用数组,则需要包装一下:

    let list = reactive({    data: [{id: 01, name: 'XXX'}]})

    或者使用 ref:

    let list = ref([{id: 1, name: 'Andy'}])

    已下引用原作者的代码:

    import { reactive, ref } from 'vue'export default {  setup() {    // 需要一个带默认值的数组list;      let list = reactive([{id: 1, name: 'Andy'}])        // 每次触发事件重置list,把新值放入,此种方式不会触发视图更新    const checkBtn = () => {      // 此时重置操作 地址指向变成一个新的地址,不会触发视图更新      list = [{id: 1, name: 'Andy'}]      list.push({id: 2, name: 'Lucy'})    }        // --------------------------------------------------    // 正确的重置处理方法如下:使用reactive将数组包裹到一个对象中    let list = reactive({      data: [{id: 1, name: 'Andy'}]    });    const checkBtn = () => {      list.data = [{id: 1, name: 'Andy'}]      list.data.push({id: 2, name: 'Lucy'})    }    // 或者使用ref    let list = ref([{id: 1, name: 'Andy'}]);    const checkBtn = () => {      list.value = [{id: 1, name: 'Andy'}]      list.value.push({id: 2, name: 'Lucy'})    }    return {      list,      checkBtn    }  },}

    关于“vue3如何使用reactive包裹数组正确赋值”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

    --结束END--

    本文标题: vue3如何使用reactive包裹数组正确赋值

    本文链接: https://lsjlt.com/news/358471.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • vue3如何使用reactive包裹数组正确赋值
      这篇文章主要介绍“vue3如何使用reactive包裹数组正确赋值”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue3如何使用reactive包裹数组正确赋值”文章能帮助大家解决问题。使用reac...
      99+
      2023-07-06
    • vue3怎么使用reactive包裹数组正确赋值
      使用reactive包裹数组正确赋值需求:将接口请求到的列表数据赋值给响应数据arrconst arr = reactive([]); const load = () => { const res = [2, 3, 4, 5]...
      99+
      2023-05-16
      Vue3 reactive
    • vue3使用reactive包裹数组正确赋值问题
      目录使用reactive包裹数组正确赋值提供几种办法vue3的reactive重新赋值无效vue3官方的文档说明总结使用reactive包裹数组正确赋值 需求:将接口请求到的列表数据...
      99+
      2023-03-06
      vue3 reactive vue3 reactive赋值 vue3 reactive 赋值
    • vue3使用reactive赋值后页面不改变如何解决
      本篇内容主要讲解“vue3使用reactive赋值后页面不改变如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue3使用reactive赋值后页面不改变如何解决”吧!场景原因我们需要在v...
      99+
      2023-07-06
    • 如何正确的使用Python闭包
      如何正确的使用Python闭包?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、Python 中的作用域规则和嵌套函数每当执行一个函数时,就会创建一个新的局部命...
      99+
      2023-06-15
    • 如何正确的的使用MSScriptControl.ScriptControl组件
      这篇文章将为大家详细讲解有关如何正确的的使用MSScriptControl.ScriptControl组件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Microsoft(R) Script...
      99+
      2023-06-08
    • 如何在Go语言中正确使用包
      如何在Go语言中正确使用包,需要具体代码示例 在Go语言中,包(package)是组织和管理代码的基本单元。正确使用包可以帮助我们更好地组织代码,提高代码的复用性和可维护性。本文将介绍...
      99+
      2024-03-12
      使用 导入 包管理 go语言 标准库
    • PHP数组开发技术:如何正确使用索引?
      在PHP开发中,数组是一种非常常见的数据结构,它可以用来存储多个数据项,并且可以根据索引进行访问。在本文中,我们将介绍如何正确使用索引来开发PHP数组。 一、什么是数组索引? 数组索引是一个指向数组元素的指针。每个元素在数组中都有一个唯一...
      99+
      2023-07-06
      数组 开发技术 索引
    • 如何正确的使用sys_context函数
      本篇文章给大家分享的是有关如何正确的使用sys_context函数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。sys_context函数是O...
      99+
      2024-04-02
    • 如何正确的使用Oracledump函数
      如何正确的使用Oracledump函数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 一、函数标准格式:  DUM...
      99+
      2024-04-02
    • 如何正确的使用sumifs函数
      这篇文章将为大家详细讲解有关如何正确的使用sumifs函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  SUMIFS函数功能  SUMIFS 函数用于计算单元格区域或数组中符合多个指定条...
      99+
      2023-06-04
    • 如何正确的使用sumproduct函数
      本篇文章为大家展示了如何正确的使用sumproduct函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  SUMPRODUCT函数死excel中一个求乘积之和的函数,要求数组参数必须具有相同的维数...
      99+
      2023-06-04
    • 如何正确的使用Shell函数
      如何正确的使用Shell函数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. 在shell文件内部定义函数并引用:[~/shell/function]# ca...
      99+
      2023-06-09
    • 如何正确的使用numpy.sum()函数
      如何正确的使用numpy.sum()函数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。sum(a, axis=None, dtype=Non...
      99+
      2023-06-08
    • PHP中的数组、并发和缓存:如何正确使用?
      在PHP开发中,数组、并发和缓存是非常常见的概念。它们都可以用来提高程序的效率和性能,但是如果使用不当,也会给程序带来严重的问题。本文将探讨如何正确使用PHP中的数组、并发和缓存。 一、数组 数组是PHP中最常用的数据结构之一。它可以存储...
      99+
      2023-09-21
      数组 并发 缓存
    • 如何在PHP和Linux中正确使用数组和对象?
      PHP和Linux是目前最流行的编程语言和操作系统之一。在使用它们的过程中,数组和对象是必不可少的数据类型。它们可以帮助我们更好地组织和管理数据。但是,正确地使用数组和对象可能会有一定难度。在这篇文章中,我们将讨论如何在PHP和Linux中...
      99+
      2023-08-24
      linux 数组 对象
    • 如何使用js正则取值以及数组调试
      这篇文章主要为大家展示了“如何使用js正则取值以及数组调试”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用js正则取值以及数组调试”这篇文章吧。如下所示:...
      99+
      2024-04-02
    • 如何使用IDEA查看jar包,jar包的正确打开方式
      原理就用 IDEA 是把 jar 包添加为 Libraries,然后展开后即可查看。 因为是编译后的 class 文件,所以注释是没有的。 还有一种方法是把 jar 包的扩展名改为 rar,然后用压缩...
      99+
      2023-09-01
      intellij-idea jar java
    • 如何使用包含 C 代码的包正确编译 Golang 项目
      问题内容 我开始用 Golang 编写一个项目,但立即遇到了问题。我需要从我的代码连接到硬件,我有一个驱动程序和一个供应商提供的 Golang 包装器。包装器连接的描述说需要将代码放在...
      99+
      2024-02-06
    • 考虑这些因素,如何在 PHP 中正确使用数组函数?
      在 PHP 中,数组是一种非常常见的数据类型。它可以存储多个值,这些值可以是不同类型的,例如字符串、整数或对象。为了方便操作数组,PHP 提供了许多数组函数,这些函数可以让你轻松地对数组进行操作。但是,如果你不理解这些函数的使用方法,就可能...
      99+
      2023-06-18
      数组 面试 函数
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作