23 直接使用 dom api 更新了 #text节点, 之后响应式更新不生效了

news2024/10/7 4:24:39

  前言 

这是最近的碰到的那个 和响应式相关的问题 特定的操作之后响应式对象不“响应“了 引起的一系列的文章 

主要记录的是 vue 的相关实现机制 

呵呵 理解本文需要 vue 的使用基础, js 的使用基础 

问题引发自 VueComponent 响应式处理 里面有一段内容, 直接在 console 中使用 dom 的 api 更新了最基层的 div 节点的 textContent, 然后 之后 再点击 按钮 发现响应式更新不生效了 

 测试用例

测试用例如下, 一个简单的 按钮事件的触发  

问题的调试

模板如下, 这里我们主要关注的是 el-card 下面的 文本内容 

在 vue 中会被创建一个 #text 节点 

渲染之后 html 如下 

从页面 dom 中我们是看不到这个 #text 节点, 因此 假设我们直接去更新了 div.el-card__body 的 textContent, 之后 你会发现 之后无论如何点击 按钮, 内容都不会再更新了 

使用 js 的 api 更新了 div.el-card__body 的 textContent, 之后无论如何 点击按钮, 都不会再更新了 

 

这是因为 在实际的 dom 结构中 div.el-card__body 下面还有一层 #text 的子节点 

我们这里直接 document.getElementsByClassName("el-card__body")[0].textContent = "nihao" 操作了之后, 是新建了一个 #text 节点然后挂载 div.el-card__body 上面 

调整的方式更新为 使用 div.el-card__body 下面的 #text 节点来更新即可 

document.getElementsByClassName("el-card__body")[0].childNodes[0].textContent = "nihao"

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/574895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5月份月刊总结

5月份月刊总结 目录概述需求: 设计思路实现思路分析1.技术经理 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Sur…

我是如何利用业余时间写书的?---时间管理

低级的欲望放纵即可获得,高级的欲望只有克制才能达成。——卡耐基粉丝的误会 很多粉丝,问我, “彭老师你是不是自己创业了?” “彭老师我想报您的培训班。” … 得知我知识业余时间写文章,紧接着又会问, …

python+vue高校体育比赛赛事信息系统

本公共体育赛事管理系统是一个公共体育赛事管理信息的平台,采用vue,MYSQL的开发环境,后台使用python开发架构,并使用django简化对数据库方面的操作,基于B/S结构进行开发。本系统主要实现用户在线进行密码管理&#xff…

[数据集][目标检测]目标检测数据集绝缘子缺陷防震锤1688张5类别VOC格式

数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):1688 标注数量(xml文件个数):1688 标注类别数:5 标注类别名称:["flashover",&…

chatgpt赋能python:Python彩色转黑白简介

Python彩色转黑白简介 Python是一种高级编程语言,提供了许多内置功能和库来进行图像处理。其中之一就是彩色转黑白。彩色图像是RGB(红色,绿色和蓝色)通道的混合,而黑白图像则只有灰度值。 在本篇文章中,我…

Go 中的随机性测试

👇我在这儿 这是关于 Go 语言模糊测试的四部分教程系列的第一部分: 1、Go 语言中的随机测试 2、Go 语言中的模糊测试 3、写一个 Go 语言的模糊测试目标(即将推出) 4、通过模糊化发现漏洞(即将推出) 为我们的 Go 程序选择好的测试用例有点看运气。有时我们很幸运找到…

chatgpt赋能python:Python字符串首字母大写的方法,让你的SEO效果更佳

Python字符串首字母大写的方法,让你的SEO效果更佳 在许多编程语言中,字符串都是一种基本的数据类型。在Python中,字符串是一个非常重要的数据类型,因为在很多情况下,它被用来表示文本。在这篇文章中,我们将…

chatgpt赋能python:Python扫描在SEO中的重要性

Python扫描在SEO中的重要性 Python扫描是一种快速检测网站漏洞和异常的方式,也是SEO方案中不可或缺的一部分。一般来说,Python扫描被用来检测在网站上常见的安全风险,并且使用这种方式可以快速且准确地查找和修复问题。 什么是Python扫描 …

fftw的使用

1、下载编译 官网:http://www.fftw.org/index.html 2、FFT基础知识 2.1 概念 FFT分辨率可以表示为:fs/Nfft 频率分辨率的物理量就是:观测信号的时间窗长度, 时间窗越长(N大), 对应频率分辨率…

chatgpt赋能python:Python循环与内存管理

Python循环与内存管理 在编写Python代码时,循环是不可避免的。但是循环,特别是无限循环,会导致内存问题,影响程序性能及其稳定性。本文将重点介绍Python循环和内存管理。 Python循环 在Python中,有三种循环结构&…

史上最全Android性能优化方案解析

Android中的性能优分为以下几个方面: 布局优化 网络优化 安装包优化 内存优化 卡顿优化 启动优化 …… 一.布局优化 布局优化的本质就是减少View的层级。常见的布局优化方案如下: 在LinearLayout和RelativeLayout都可以完成布局的情况下优先选择LinearL…

chatgpt赋能python:Python如何清理输出的屏幕?

Python 如何清理输出的屏幕? 在 Python 编程中,我们经常需要在控制台上输出一些信息。但是当输出信息过多时,控制台的屏幕可能会变得很杂乱。这时候,我们就需要清理掉原有的输出内容,以便更好地展示新的信息。那么&am…

26 VueComponent 其他属性的更新

前言 这是最近的碰到的那个 和响应式相关的问题 特定的操作之后响应式对象不“响应“了 引起的一系列的文章 主要记录的是 vue 的相关实现机制 呵呵 理解本文需要 vue 的使用基础, js 的使用基础 测试用例 比如这里看一下 class 的更新 测试用例如下, 增加 topClazz …

使用stable diffusion webui时,安装gfpgan失败的解决方案(windows下的操作)

1.问题描述 初次打开stable diffusion webui时,需要安装gfpgan等github项目。但在安装gfpgan时,显示RuntimeError: Couldnt install gfpgan 2.解决方案 无法安装gfpgan的原因是网络问题,就算已经科学上网,并设置为全局&#x…

imPlot的使用

1、概述 https://github.com/epezent/implot https://github.com/ocornut/imgui

【PWN · ret2libc】[NISACTF 2022]ezstack

一道简单的ret2libc——对标wiki的ret2libc1 目录 前言 一、题目信息 1.查看保护 2.IDA反汇编 3.pwntools获取表信息 & "/bin/sh"信息 二、exp 总结 前言 通过查看ELF文件信息,确定攻击方法,实现ret2libc1类型的攻击 一、题目…

强连通分量(SCC, Strongly Connected Components)

强连通分量(SCC, Strongly Connected Component) 强连通分量的概念强连通分量的应用强连通分量的算法——Tarjan算法 强连通分量的概念 在有向图中,任意两个顶点 v i v_i vi​ 和 v j v_j vj​ 互相可达(也即存在路径 v i → v…

chatgpt赋能python:Python如何连接数据库?

Python如何连接数据库? Python作为一种高级编程语言,已经被广泛应用于数据科学和Web开发。连接数据库是Python的一项重要功能,可以使我们的代码访问各种数据源来收集、分析和存储数据。在这篇文章中,我们将介绍Python如何连接各种…

chatgpt赋能python:Python循环等待用户输入:提高交互性和可靠性

Python 循环等待用户输入:提高交互性和可靠性 作为一种高级编程语言,Python 可以通过很多方式实现与用户进行交互,其中最基础的方式是等待用户输入。在开发基于文本界面的应用程序、命令行工具或脚本时,这种输入等待机制可以提高…

JDK8 新特性 Stream API 进阶 (结合案例详解--通透--讲清)

👳我亲爱的各位大佬们好😘😘😘 ♨️本篇文章记录的为 JDK8 新特性 Stream API 进阶 相关内容,适合在学Java的小白,帮助新手快速上手,也适合复习中,面试中的大佬🙉🙉🙉。 …