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 会自动追踪这些变化并更新相关的视图。
  • 深度嵌套:如果对象有深层次的嵌套结构,并且你需要更新深层次的属性,确保路径正确,否则可能会丢失其他层级的数据。
相关推荐
其实防守也摸鱼7 小时前
网络安全法竞赛知识总结与题库
前端·网络·人工智能·安全·web安全·重构·nc
山雀~7 小时前
浏览器兼容方案(Web 项目的三层实践)
前端
Jack N7 小时前
【Strapi 系列之五】前端怎么接?Next.js + Tailwind 拉取 Strapi 数据(含代码)
开发语言·前端·javascript·strapi
__sjfzllv___7 小时前
在职前端Leader学习/转行 AI Agent -DAY85
前端
来一首_We_go7 小时前
React Flow Pro 高级交互实现
前端·react.js
weedsfly7 小时前
React 不可变数据:为什么页面“明明数据变了却不更新
前端·javascript·react.js
行者全栈架构师7 小时前
【共创稿事节】双引擎智能相册:HarmonyOS 7(API 26)文搜图 × 图像超分端侧 AI 联动实战
前端·算法·架构
chromoany8 小时前
agent 写的 README 为什么装不上:一条“没有出处就删掉”的规则
前端
deli0078 小时前
商品条形码最后一位怎么来的?Code128 校验位实测
前端
小蒜学长8 小时前
基于SpingBoot+Vue的定向越野赛事管理系统的设计与开发(代码+数据库+LW)
java·前端·spring boot·后端·前后端分离·定向越野赛事