Vue3 给 reactive 响应式对象赋值

在 Vue 3 中,你可以使用 reactive 函数创建响应式对象。如果你想给这个响应式对象赋值,可以直接修改其属性。以下是一些示例:

直接修改属性

你可以直接通过点符号或方括号语法来修改响应式对象的属性。

javascript 复制代码
import { reactive } from 'vue';

const form = reactive({
  file: "",
  fileArr: [],
  fileCount: 5,
  content: "",
});

// 直接修改属性
form.file = "newFile.txt";
form.fileArr.push("file1.txt");
form.fileCount = 10;
form.content = "This is the new content.";

使用 Object.assign 进行批量赋值

如果你需要一次性更新多个属性,可以使用 Object.assign

javascript 复制代码
import { reactive } from 'vue';

const form = reactive({
  file: "",
  fileArr: [],
  fileCount: 5,
  content: "",
});

// 使用 Object.assign 进行批量赋值
Object.assign(form, {
  file: "newFile.txt",
  fileArr: ["file1.txt", "file2.txt"],
  fileCount: 10,
  content: "This is the new content."
});

使用展开运算符(Spread Operator)进行批量赋值

你也可以使用展开运算符来进行批量赋值。

javascript 复制代码
import { reactive } from 'vue';

const form = reactive({
  file: "",
  fileArr: [],
  fileCount: 5,
  content: "",
});

// 使用展开运算符进行批量赋值
form = { ...form, ...{
  file: "newFile.txt",
  fileArr: ["file1.txt", "file2.txt"],
  fileCount: 10,
  content: "This is the new content."
}};

注意事项

  • 响应性 :由于 reactive 创建的对象是响应式的,所以当你修改这些属性时,Vue 会自动追踪这些变化并更新相关的视图。
  • 深度嵌套:如果对象有深层次的嵌套结构,并且你需要更新深层次的属性,确保路径正确,否则可能会丢失其他层级的数据。
相关推荐
Mintopia15 分钟前
🚀 一文看懂 “Next.js 全栈 + 微服务 + GraphQL” 的整体样貌
前端·javascript·全栈
Mintopia17 分钟前
🧬 医疗Web场景下,AIGC的辅助诊断技术边界与伦理
前端·javascript·aigc
半桶水专家22 分钟前
父子组件通信详解
开发语言·前端·javascript
Watermelo61724 分钟前
从vw/h到clamp(),前端响应式设计的痛点与进化
前端·javascript·css·算法·css3·用户界面·用户体验
寻星探路29 分钟前
测试开发话题10---自动化测试常用函数(2)
java·前端·python
Moment30 分钟前
快到  2026  年了:为什么我们还在争论  CSS 和 Tailwind?
前端·javascript·css
梵得儿SHI42 分钟前
Vue 核心语法详解:模板语法中的绑定表达式与过滤器(附 Vue3 替代方案)
前端·javascript·vue.js·插值语法·vue模板语法·绑定表达式·过滤器机制
江城开朗的豌豆44 分钟前
TypeScript枚举:让你的代码更有"选择权"
前端·javascript
江城开朗的豌豆1 小时前
TypeScript接口:打造你的代码“契约”之道
前端·javascript
江城开朗的豌豆1 小时前
TypeScript类:面向对象编程的超级武器
前端·javascript