当前位置: 首页 > news >正文

4.Vue-------this.$set()的使用和详细过程-------vue知识积累

在Vue.js中,this.$set()是Vue实例this.someProperty = someValue来为Vue实例的属性赋值时,Vue会自动将该属性设置为响应式的,这样当属性的值变化时,相关的视图会自动更新

一. 对象的修改

对象:修改和新增


先定义数据对象:
obj: { name: "小明", age: 18, },        基本语法:
this.$set(需要改变的对象,"需要改变的对象属性""新值")

a.对象修改

this.$set(this.obj, "name", "小刘"); 控制台输出:obj: { name: "小刘", age: 18, },

b.对象新增

this.$set(this.obj, "hobby", "study");控制台输出:obj: { name: "小明", age: 18, hobby: "study"},  

c.对象新增未知属性(这里的item是传递的参数,不带引号,"reading"是参数值)

this.$set(this.obj, item, "reading");

二. 数组

先定义数组包对象:
arr: [                                           { name: "小王", age: 18 },{ name: "小张", age: 20 },],定义普通数组:       
twoArr: [11, 22, 33, ],                          基本语法:
this.$set(需要修改的数组,需要修改的数组下标,{ "要修改的数组对象,一个/多个" })

a.数组修改

 修改数组对象:
this.$set(this.arr, 1, { name: "小王", age: 19 });控制台输出:arr: [ { name: "小王", age: 18 },{ name: "小王", age: 19 }, ],
修改普通数组:
this.$set(this.twoArr, 0, 99);    控制台输出:twoArr: [99, 22, 33, ],   

b. 数组新增

(1)首先需要获取新增的数组长度

let reslg = this.arr.length;  

(2)然后添加在数组末尾

this.$set(this.arr, reslg,{ name: "小紫", age: 18 },);控制台输出:
arr: [ { name: "小王", age: 18 },{ name: "小张", age: 20 },{ name: "小紫", age: 18 },],

三. this.$delete

同理,执行删除操作时,对象或数组不更新时,可以使用this.$delete

基本语法:this.$delete(this.obj, "name")

this.$delete 也是一个实例方法,用于从响应式对象中删除属性,并确保该操作也是响应式的。使用this.$delete 可以解决Vue响应式系统的另一个限制,即无法检测到通过索引直接删除数组元素的变化。通过this.$delete 方法,可以显式地告诉Vue,某个属性已经被删除,从而触发视图的更新。

http://www.lryc.cn/news/498434.html

相关文章:

  • 服务器上的常见Linux命令教程
  • 汽车总线协议分析-FlexRay总线
  • Java 集合:强大的数据管理工具
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发十九,ffmpeg复用
  • python之Django连接数据库
  • 基于Springboot+Vue的在线答题闯关系统
  • 声音克隆GPT-SoVITS
  • 【STM32 Modbus编程】-作为主设备读取保持/输入寄存器
  • 前端开发入门指南Day 17:TypeScript高级类型(泛型,类型守卫,Partial<T>和 Required<T>等)
  • flex布局容易忽略的角色作用
  • 如何开发高效的企业内训APP?教育培训系统源码搭建实战详解
  • 【软考网工笔记】网络基础理论——传输层
  • 如何预防服务器后台爆破攻击
  • CMake笔记之在CMakeLists.txt文件中开启Debug模式
  • C++编程:模拟实现CyberRT的DataVisitor和DataDispatcher
  • 【Flutter】WillPopScope组件-监听物理返回键事件自定义返回事件
  • 【sqlserver】mssql 批量加载数据文件 bulk copy使用
  • flinkSql中累计窗口CUMULATE
  • 关于在ubuntu上无法运行EasyConnect的解决方法
  • 【Axure高保真原型】数值条件分组
  • python学习——字符串的拼接操作
  • 多线程篇-8--线程安全(死锁,常用保障安全的方法,安全容器,原子类,Fork/Join框架等)
  • el-select的搜索功能
  • MFC实现全屏功能
  • 网络安全技术详解:虚拟专用网络(VPN) 安全信息与事件管理(SIEM)
  • v-model 根据后端接口返回的数据动态地确定要绑定的变量
  • 图形开发基础之在WinForms中使用OpenTK.GLControl进行图形绘制
  • 离散数学重点复习
  • Javaweb梳理21——Servlet
  • 推荐学习笔记:矩阵补充和矩阵分解