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 会自动追踪这些变化并更新相关的视图。
  • 深度嵌套:如果对象有深层次的嵌套结构,并且你需要更新深层次的属性,确保路径正确,否则可能会丢失其他层级的数据。
相关推荐
华玥作者14 小时前
[特殊字符] VitePress 对接 Algolia AI 问答(DocSearch + AI Search)完整实战(下)
前端·人工智能·ai
Mr Xu_14 小时前
告别冗长 switch-case:Vue 项目中基于映射表的优雅路由数据匹配方案
前端·javascript·vue.js
前端摸鱼匠15 小时前
Vue 3 的toRefs保持响应性:讲解toRefs在解构响应式对象时的作用
前端·javascript·vue.js·前端框架·ecmascript
lang2015092815 小时前
JSR-340 :高性能Web开发新标准
java·前端·servlet
好家伙VCC16 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
未来之窗软件服务16 小时前
未来之窗昭和仙君(六十五)Vue与跨地区多部门开发—东方仙盟练气
前端·javascript·vue.js·仙盟创梦ide·东方仙盟·昭和仙君
嘿起屁儿整16 小时前
面试点(网络层面)
前端·网络
VT.馒头17 小时前
【力扣】2721. 并行执行异步函数
前端·javascript·算法·leetcode·typescript
phltxy17 小时前
Vue 核心特性实战指南:指令、样式绑定、计算属性与侦听器
前端·javascript·vue.js
Byron070718 小时前
Vue 中使用 Tiptap 富文本编辑器的完整指南
前端·javascript·vue.js