vue3 中reative 值为数组时如何重新赋值

这篇具有很好参考价值的文章主要介绍了vue3 中reative 值为数组时如何重新赋值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

<template >
    <div>
        <h1>test11111111</h1>
        <h3 v-for="(name,index) in tableData" :key="index">{{ name }}</h3>
        <button @click="test">test</button>
        <button @click="test2">test2</button>

    <br/>
        <h3 v-for="(name,index) in tableDataObj.listobj" :key="index">{{ name }}</h3>

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

<script setup>
import { ref, reactive } from 'vue'

const tableData = reactive([]);
//const tableData = reactive<any>([]);
const tableDataObj = reactive({listobj:[]});


function test()
{
    tableData.push({"name":"test1"}); //方式可以
}

function test2()
{
    tableData.length = 0; //重置
    let list = [{name:"test2"}];
    //tableData = list; //方式不行
    tableData.push(...list); //方式可以
}

function test3()
{
    let list = [{name:"test3"}];
    tableDataObj.listobj = list;
    tableDataObj.listobj.push({name:"test4"});; 
}


</script>

采用这种方式const tableData = reactive([]);定义的时候,不能直接赋值,这样的话就不能响应。需要利用push的方式。

const tableDataObj = reactive({listobj:[]}); 这中定义的可以直接赋值即可
 

参考

Vue3实践指南:使用reactive函数声明数组如何正确赋值响应式、script setup语法糖中toRefs如何优雅呈现、Options API 与 Composition API 如何选择及混用是否对性能有影响、关于 setup 中没有 this 的问题及 setup 的执行时机 - 古兰精 - 博客园 (cnblogs.com)文章来源地址https://www.toymoban.com/news/detail-689470.html

到了这里,关于vue3 中reative 值为数组时如何重新赋值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 已解决:Vue改变数据后界面不自动渲染,Vue中使用v-for遍历对象数组,当给其中某个元素对象重新赋值之后,页面组件列表没有渲染更新。

    问题如标题所说,Vue中使用v-for遍历对象数组,当给数组其中某个元素对象重新赋值之后,页面组件列表没有及时更新渲染,而是在页面进行了其他的渲染操作以后列表才更新出来新的数据,那同样给对象内的属性值赋值也可能存在不渲染的情况,一并解决,尤其发生在网络

    2024年02月06日
    浏览(59)
  • 【前端技术】Vue3 01:初识 Vue.js

    Vue 可以说是非常流行了,至少在国内是这样,他是个轻量级的 JavaScript 框架,非常适合构建大型和中小型的 Web 应用程序,如果想和前端打交道,应该绕不过这个框架吧。 目录 1 Vue.js 介绍 2  IDE 选择 2.1 vscode 2.2 WebStorm 2.3 Eclipse 3  创建 Vue 应用 3.1 本地脚手架创建 ① 安装

    2024年02月02日
    浏览(64)
  • 前端(四)——vue.js、vue、vue2、vue3

    😊博主:小猫娃来啦 😊文章核心: vue.js、vue、vue2、vue3从全局到局部 Vue.js是一款流行的JavaScript框架 vue,vue2,vue3都是vue.js的不同版本。 Vue:Vue.js的第一个版本,也称为Vue 1.x。它于2014年首次发布,并获得了广泛的应用和认可。 Vue2:Vue.js的第二个版本,也称为Vue 2.x。它在Vu

    2024年02月12日
    浏览(79)
  • 前端HTML、CSS、JS、VUE3 汇总

    学习https://developer.mozilla.org/zh-CN/docs/Learn/CSS 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 使用VS Code运行前端代码 在VS Code上安装前端插件 正在更新中~ ✨ 提示:这里可以添加本文要记录的大概内容: 学习路线 知识定位 HTML基础 标签、表格、表单、

    2024年02月13日
    浏览(51)
  • 【前端vue升级】vue2+js+elementUI升级为vue3+ts+elementUI plus

    gogo code 是一个基于 AST (源代码的抽象语法结构树状表现形式)的 JavaScript/Typescript/HTML 代码转换工具,可以用它来构建一个代码转换程序来帮助自动化完成如框架升级、代码重构、多平台转换等工作。 当前 GoGoCode 支持解析和操作如下类型的代码: ○JavaScript(JSX) ○Typescript

    2024年02月12日
    浏览(54)
  • vue3+ant design的form数组表单,如何校验

    首先,先说说我要实现的内容:如下图,点“新增”会添加一个灰框内容,form表单是一个数组,一个灰框为一个对象,各对象保存时各自校验自己表单里的内容,互不干扰!   上页面代码(看部分代码就懂了): 2023.11.1月添加补充:当定义rules,用v-bind方法绑定,校验不生

    2024年02月08日
    浏览(45)
  • 持续不断更新中... 自己整理的一些前端知识点以及前端面试题,包括vue2,vue3,js,ts,css,微信小程序等

    答: 在普通的前端项目工程中,在script标签中增加setup即可使用api 使用setup()钩子函数 答: 不要在计算属性中进行异步请求或者更改DOM 不要直接修改computed的值 区别: 计算属性值基于其响应式依赖被缓存,意思就是只要他之前的依赖不发生变化,那么调用他只会返回之前缓

    2024年02月11日
    浏览(63)
  • C/C++如何给高效给数组赋值

    声明的同时初始化 int a[5]={1,2,3,4,5}; 声明后再初始化 int a[5]; a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5; 注意!在c、c++中不允许将数组声明和整体初始化分开! 如: int a[5]; a[5]={1,2,3,4,5} 这样做会导致语法错误! 错误分析:由于数组下标从零开始,a[5]根本就不存在! 就算存在,此时的a[5] 也

    2024年01月18日
    浏览(53)
  • 解决Vue数组数据变化了,赋值后视图没更新的问题

    最近遇到一个问题,表格数据变化了,直接赋值后视图没更新,打印表格数据发现是最新的数据,这主要是因为,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。

    2024年02月02日
    浏览(39)
  • vue3 ref reactive响应式数据 赋值的问题

    doing 遇见就记录,最后更新时间23.8.30 错误示范:直接赋值 以数组为例,对象也是一样的操作。 ref 定义的属性等价于 reactive({value:xxx}) ,所以 reactive、ref 直接重新赋值丢失响应是因为引用地址变了 正确写法 方法1: ref.value ,代码中更为清晰地表明响应式数据 方法2:包一层

    2024年02月10日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包