【VUE】Vue2中如何监听(检测)对象或者数组某个属性的变化

embedded/2024/10/22 14:43:43/

当在项目中直接设置数组的某一项的值,或者直接设置对象的某个属性值,这个时候,你会发现页面并没有更新。这是因为Object.defineProperty()限制,监听不到变化。

解决方式:

  • this.$set(你要改变的数组/对象,你要改变的位置/key,你要改成什么value)
javascript">this.$set(this.arr, 0, "OBKoro1"); // 改变数组
this.$set(this.obj, "c", "OBKoro1"); // 改变对象
  • 或者调用以下几个数组的变异方法:
javascript">splice()push()、pop()、shift()、unshift()、sort()、reverse() 

Vue源码里缓存了array的原型链,然后重写了这几个方法,触发这几个方法的时候会observer数据,意思是使用这些方法不用我们再进行额外的操作,视图自动进行更新。 推荐使用splice方法会比较好自定义,因为splice可以在数组的任何位置进行删除/添加操作。


http://www.ppmy.cn/embedded/127631.html

相关文章

YOLOv11模型地址

地址链接 项目Git地址:https://github.com/ultralytics/ultralytics?tabreadme-ov-file

SpringBoot教程(二十四) | SpringBoot实现分布式定时任务之Quartz(基础)

SpringBoot教程(二十四) | SpringBoot实现分布式定时任务之Quartz(基础) 简介适用场景Quartz核心概念Quartz 存储方式Quartz 版本类型引入相关依赖开始集成方式一:内存方式(MEMORY)存储实现定时任务1. 定义任务类2. 定…

技术总结(四)

一、什么是进程和线程,他们之前区别是什么? 进程(Process) 是指计算机中正在运行的一个程序实例。举例:你打开的微信就是一个进程。线程(Thread) 也被称为轻量级进程,更加轻量。多个线程可以在同一个进程…

QT:信号与槽

QT是一种流行的C框架,用于开发图形用户界面(GUI)应用程序。在QT中,信号与槽是一种用于实现对象间通信的机制。 信号(signal)是对象发出的事件或消息,槽(slot)是接收并处…

【SQL】写SQL查询时,常用到的日期函数

我们在做SQL的查询,日期函数是我们经常会用得到的函数,可以方便调用用于处理日期和时间数据。 以下是一些常见的日期函数及其用法示例: 1. 直接报出日期和时间 CURRENT_DATE:返回当前日期。NOW():返回当前日期和时间…

[论文阅读] DVQA: Understanding Data Visualizations via Question Answering

原文链接:http://arxiv.org/abs/1801.08163 启发:没太读懂这篇论文,暂时能理解的就是本文提出了一个专门针对条形图问答的数据集DVQA以及一个端到端模型SANDY,模型有两个版本,Oracle和OCR。主要解决的问题是固定词表无…

[M数学] lc3164. 优质数对的总数 II(因数分解+倍增+推公式+思维+好题)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接:3164. 优质数对的总数 II 2. 题目解析 挺不错的一道 因数分解、倍增 的题目,需要一定的思维和推公式的能力才能解决。灵神的题解已经非常清晰易懂了,可以直接去看。 倍增思路&#xff…

MySQL--视图(详解)

目录 一、前言二、视图2.1概念2.2语法2.3创建视图2.3.1目的 2.4查看视图2.5修改数据2.5.1通过真实表修改数据,会影响视图2.5.2通过修改视图,会影响基表 2.6注意2.7 删除视图2.8 视图的优点 一、前言 欢迎大家来到权权的博客~欢迎大家对我的博客进行指导&…