vue3中的reactive函数声明数组

2023-10-26

vue3中reacitve函数如何声明一个响应式数组,如以下案例

<template>
  <div>

      <div v-for="item in arr" :key="item"> 
          {{item}}
      </div>

        <button @click="change">change</button>
  </div>
</template>

<script>

  import { defineComponent, reactive,ref } from 'vue';
  export default defineComponent({
    setup(props,context) {
      let arr = reactive([])

      function change(){
        console.log("change...");
        let newArr = [1,2,3]
        arr = newArr
      }
      

      return{
        arr,
        change
      }

    },
  });
</script>

<style scope></style>

点击change按钮,发现并没有什么变化,这是因为arr = newArr这行代码让arr失去了响应式。

解决办法

  • 使用ref函数
 setup(props,context) {
      let arr = ref([])

      function change(){
        console.log("change...");
        let newArr = [1,2,3]
        arr.value = newArr
      }
      

      return{
        arr,
        change
      }

    },
  • 使用数组的push方法
 setup(props,context) {
      let arr = reactive([])

      function change(){
        console.log("change...");
        let newArr = [1,2,3]
        arr.push(...newArr)
      }
      

      return{
        arr,
        change
      }

    },
  • 创建一个响应式对象,对象的属性是数组
<template>
  <div>

      <div v-for="item in arr.list" :key="item"> 
          {{item}}
      </div>

        <button @click="change">change</button>
  </div>
</template>

<script>

  import { defineComponent, reactive,ref } from 'vue';

  export default defineComponent({
    setup(props,context) {
      let arr = reactive({
        list:[]
      })

      function change(){
        console.log("change...");
        let newArr = [1,2,3]
        arr.list = newArr
      }
      

      return{
        arr,
        change
      }

    },
  });
</script>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3中的reactive函数声明数组 的相关文章

  • iOS进阶_密码学进阶(一.对称加密算法简介)

    加密算法 HASH 散列函数 不可逆 密码 识别 文件 识别 以下两种加密算法 都是可逆的 明文 gt 加密 gt 密文 密文 gt 解密 gt 明文 对称加密 传统加密算法 加密和解密使用同一个 密钥 密钥的保密工作就非常的重要 密钥会定
  • 我们在囧途之程序员转型记

    http blog csdn net shenyisyn article details 8485181 注 本文使用第一人称 原型取材于周围同事或民间 不代表作者本人 我在一个只有10人不到的小网络公司 我们公司的业务实在是单一的不能再单
  • FCGI协议的header解析

    FCGI协议的heade比较简单只有8个字节 其C语言定义格式如下 typedef struct unsigned char version 版本 unsigned char type 操作类型 unsigned char requestI
  • 多线程中内核对象人工重置和自动重置的区别

    在多线程编程中 要创建内核对象可以有两个选择 即可以将内核对象创建为人工重置方式 也可以创建为自动重置方式 人工重置方式的时候 一旦内核对象得到通知 所有等待该内核对象的线程都变为可调度线程 等待CPU分配时间 如果程序没有主动将该内核置为

随机推荐

  • StableDiffusion/NAI DreamBooth自训练全教程

    原文 StableDiffusion NAI DreamBooth自训练全教程 知乎 在正式教程之前 聊聊dreambooth的发展 帮大家理清一下思绪 dreambooth发展史 画了张图帮助大家理解dreambooth的发展史 drea
  • 出现org.springframework.beans.factory.NoSuchBeanDefinitionException 的解决思路

    Caused by org springframework beans factory BeanCreationException Could not autowire field private cn itcast crm service
  • 嵌入式工程师有发展前途吗?

    嵌入式工程师有发展前途吗 现在来看 无论是软件开发还是嵌入式等 都是青春饭 但是软件 java 安卓 ios等应用层 的工资都稍高于嵌入式 但是嵌入式的门槛却非常高 是否应 显示全部 关注者 1 379 被浏览 1 046 366 已关注
  • Cyclic Nacklace 【HDU - 3746】【KMP补周期】

    KMP算法的讲解 自己的领悟可随时提问 题目链接 题意 有一个字符序列 现在问你 序列后面最少补充几个元素使其恰能成为几个重复循环的序列 题目还是很良心的 让我们求字符串后面放几个字符可以使其变成周期字符串 所以还是可以想到用KMP的nex
  • 接口自动化测试做线上巡检,如何避免数据污染

    在接口自动化测试中 避免数据污染是非常重要的 特别是在线上环境中进行巡检 1 使用独立的测试环境 建议使用专门的测试环境来进行接口自动化测试 而不是直接在生产环境中进行 测试环境应该是一个独立的 与生产环境隔离的环境 确保测试期间不会对真实
  • Nginx实战(二) URL重写

    本文转载至 http blog csdn net u012486840 article details 52787232 Rewrite主要的功能就是实现URL的重写 Nginx的Rewrite规则采用PCRE Perl兼容正则表达式的语法
  • Authing 官网新升级,「客户第一」是我们的方法论

    赶在立秋前 我们上线了全新一版官网 官网链接 http www authing com 如果你说 在几个月前我会怎么描述我们的官网 我会说 它很好 很标准 和其它绝大多数企业的官网一样 它作为展示信息的页面显得无可挑剔 但是它缺少了对话感
  • Spring概述 ——跟我学Spring3

    1 1 1 Spring是什么 Spring是一个开源的轻量级Java SE Java 标准版本 Java EE Java 企业版本 开发应用框架 其目的是用于简化企业级应用程序开发 应用程序是由一组相互协作的对象组成 而在传统应用程序开发
  • line vty 0 4 什么意思

    转自于 http hi baidu com rxlly blog item 9072bc397ae18bde7c1e71f6 html line vty 0 4是不是指启用5个telnet会话的意思 那line vty 0 0是不是只启用一
  • CentOS 7安装VMware Tools( 宿主机拖动复制文件到虚拟机VM)

    环境 VMware Workstation 14 pro Centos7 第一步 安装工具VMware Tools 这个时候桌面有个盘 点开进去 第二步 拷贝出来解压安装 通常都是 dev crrom 挂载到 mnt cdrom 目录 如果
  • 女生渴望的十大瞬间

    author skate time 2010 11 16 女生渴望的十大瞬间 偷看他们牵着手在街上闲逛 忽然之间 他将她拽停 伸手轻轻地将眼睑下的一根睫毛拨开 她顿感幸福 拨走睫毛不过是弹指之间的小事 却充分说明他对她的注意力100 集中
  • R语言倾向性评分:匹配

    本文目录 准备数据 matchIt包进行PSM 使用随机森林计算PS 主要匹配方法选择 匹配后数据的平衡性检验 cobalt包 统计检验衡量均衡性 结果可视化 不平衡怎么办 其他问题 参考资料 倾向性评分 Propensity Score
  • 逆向爬虫23 Javascript基础进阶

    Javascript基础进阶 一 JS中的常用功能介绍 非交互 1 1 定时器 在JS中 有两种设置定时器的方案 语法规则 t setTimeout 函数 时间 经过xxx时间后 执行xxx函数 5秒后打印我爱你 t setTimeout
  • 我理解的分类、目标检测、目标识别、目标定位、目标跟踪

    分类 判断一张图片是什么类别 不需要给出物体的位置信息 目标检测 找到图中所有的目标和它们的位置 可能有多个目标 目标识别 输出一张图片中是不是包含目标 单个目标 目标定位 输出目标的确切位置 单个目标 举个例子 检测画面中是否包含某个品牌
  • VUE中动态改变字体大小

    VUE中动态改变字体大小 父组件将自己的数据传递送给子组件展示 子组件监听click操作 emit发送出去 父组件监听通过emit发送的信息 改变控制字体大小的postFontSize 通过style展示
  • 4.2用Effect实现多纹理化效果

    4 2用Effect实现多纹理化效果 前面我们介绍了一个使用像素着色器实现的多纹理化 这里用Effect框架重新给于实现 读者可以比较两者之间的异同 体会Effect框架给我们带来了哪些方面的改善 4 2 1着色器 下面是着色器代码 该代码
  • sqlmap的用法,sqlmap -r

    sqlmap结合burpsuit进行sql注入漏洞查找 配置好burpsuit和浏览器之间的代理 网上方法很多 创建一个记事本 准备写入参数使用 1 在sqlmap根目录下创建list txt 你也可以在其他地方创建 待会写上目录就行 2
  • Mysql 数据库介绍

    目录 数据库 1 数据库的介绍 2 数据库的分类 3 数据库的作用 4 数据库特点 5 小结 关系型数据库管理系统 1 关系数据库管理系统的介绍 2 SQL的介绍 3 小结 MySQL数据库 1 MySQL数据库的介绍 数据库 1 数据库的
  • python引用、浅拷贝、深拷贝

    在python中 对象的赋值往往是通过 进行的 但是由于 右边的类型方式不一样 所以产生变量虽然值相同 但是在内存中的地址值不同 可能会造成内存空间的浪费 如题所示 对象赋值中存在三种类型情况的赋值 引用赋值 引用赋值l2 l1 首先创建个
  • vue3中的reactive函数声明数组

    vue3中reacitve函数如何声明一个响应式数组 如以下案例