在vue中修改数组某个元素,值变了,渲染不了
描述:在vue的data属性中,定义了一个数组,然后这个数组需要在html中渲染,你需要在watch属性中修改了某个值,在html中显示。
问题:为什么渲染不了?
答:跟vue的响应式原理有关(我瞎说的)
解决方案:
方法一:(推荐)
用this.$forceUpdate()强制刷新,官方文档定义:迫使组件实例重新渲染。注意它仅仅影响实例本身和插入插槽内容的子组件,而不是所有子组件
export default {data(){return {arr:['张三','李四','王五','赵六']}}watch: {arr:{immediate:truedeep:truehandler(v) {this.arr[0] = '熊二'this.$forceUpdate()//如果修改data中数组(根据下标)的某个值,要强制刷新}}}
}
方法二:(推荐)
用$set()方法,一参是数组,二参是下标,三参是值
export default {data(){return {arr:['张三','李四','王五','赵六']}}watch: {arr:{immediate:truedeep:truehandler(v) {this.$set(this.arr, 0, '熊二')}}}
}
方法三:(不推荐)
直接换掉整个数组
2021/11/11更新
重点
this.$forceUpdate()与this.$set()的区别?
this.$forceUpdate()强制性刷新dom(全局)性能消耗高,触发updated生命周期
this.$set()对数组和对象赋值,并监听,指定性刷新,性能消耗低
踩坑:套入多个循环后,用this.$forceUpdate()刷新不了,用this.$set()就可以刷新,咱啥也不懂,啥也不敢问
PS:vue中的watch属性具体怎么用,传送门
vue的watch:{}属性用法handler(v){},immediate,deep_是泡沫呀的博客-CSDN博客
在vue中修改数组某个元素,值变了,渲染不了相关推荐
- vue快速修改数组的某个值_详解vue组件三大核心概念
前言 本文主要介绍属性.事件和插槽这三个vue基础概念.使用方法及其容易被忽略的一些重要细节.如果你阅读别人写的组件,也可以从这三个部分展开,它们可以帮助你快速了解一个组件的所有功能. 本文的代码请猛 ...
- vue中删除数组元素
vue中删除数组元素 let arr = [{ name: 'aa',id: 11},{name: 'bb',id: 12} ] 1.filter arr = arr.filter(t => t ...
- js入门·表单详解一(修改表单属性,修改表单元素值)
实在javascript入门·Document对象入门讲解(访问表单,创建新页,获取页标题) 一文中,我们已经把表单的一些基本访问等弄清楚了,下面我们深入的学下表单的属性以及对表单元素的简单操作! 演 ...
- c编程:求出4#215;4矩阵中最大和最小元素值及其所在行下标和列下标,求出两条主对角线元素之和。...
//求出4×4矩阵中最大和最小元素值及其所在行下标和列下标,求出两条主对角线元素之和 #include <stdio.h> int main() {int sum=0;int max,mi ...
- vue中动态获取dom元素进行操作
这几天我远程面试了一家公司,期间问题我都回答上来了 但有一个问题我很纳闷 就是你说下vue中获取dom元素的方法吧 我说大体上俩中吧 1.vue中 ref的方法 给元素起一个ref名称 通过 th ...
- 在vue中修改浏览器图标和名字
在vue中修改浏览器图标和名字 vue中,网页图标默认使用的是vue自带的一个icon的图标,也是vue的logo. 下面整理了几种改变标题和图标的方法 1.修改图标样式 01.使用图片 这个方法是可 ...
- Vue中foreach数组与js中遍历数组的写法
场景 Vue中使用Axios发送get或者post请求,发送请求时需要在js中 对请求参数进行遍历并处理. 接收响应时需要对响应结果进行遍历和处理. 注意区分在vue和js中foreach数组的区别. ...
- PHP运算符 - 对象的方法或者属性, =数组的元素值
->用于取对象的方法或者属性, =>用于取数组的元素值. 转载于:https://www.cnblogs.com/npk19195global/p/4490756.html
- vue中使用v-if出现的值回显不了的问题
vue中使用v-if出现的值回显不了的问题 这样会有其中某一个值回显不了 的问题, 去掉v-if可以正常回显 加上之后会莫名不回显 解决方法:外边包个div就可以了 如果还解决不了 div别再太外围 ...
- vue 中遍历数组对象 存到一个新数组里
vue 中遍历数组对象 存到一个新数组里(亲测可行!!!) 参考文档 : MDN-解构赋值 方法一 : For of 迭代和解构 var people = [{name: 'Mike Smith',f ...
最新文章
- Python工程的文档结构
- C语言程序设计之编程求鸡和兔的只数,用穷举法解决
- 基于连通域字符分割的流程_基于OpenCV及连通域分析进行文本块分割
- STM32开发 -- CRC校验码
- 【MySQL性能优化】MySQL分库分表与水平分割取模案例(三)
- 车辆跟驰模型matlab代码实现_MATLAB——考虑驾驶员特性及前车速度的快速路模型...
- 耳机不支持android,安卓手机为什么不能用EarPods耳机 原因分析【图解】
- python treeview显示多列_Python Gtk TreeView列数据显示
- 已重置默认应用设置html,win10已重置应用默认设置一直弹怎么办_win10已重置应用默认设置老是弹出解决方法...
- Tricks(二十九)—— 2^10000 的位数
- unity3d改变物体的中心位置_Unity3d粒子特效:制作火焰效果
- linux字符串替换命令,Linux使用sed命令替换字符串教程
- python练习-prat1
- manjaro/arch chrome an application wants access to the keyring default keyring but it is locked 解决
- C# 扫描枪扫描条形码与二维码
- Java算术右移和逻辑右移
- 类似ftp文件服务器有哪些,FTP的替代品有哪些,你知道吗?
- csv文件中文乱码转换
- 目标检测中anchor的概念
- 单片机I/O口的结构的详解
热门文章
- 闲暇时间做的一个亲属关系计算器
- nmon监控工具使用(打开nmon文件出现 运行时错误13类型不匹配)
- 简易解inode802.1x认证实战(6)交叉编译
- 如何压缩jpg图片的大小,操作简单的两个方法都教给你。
- keras LSTM实现imdb电影评论文本二分类
- HBuilder X运行到微信小程序报错 [微信小程序开发者工具] Error: read EBADF
- 计算机软件毕业论文周记,毕业论文写作周记范文共12周
- 拓扑图是什么?常见网络逻辑拓扑结构
- LeetCode 求和问题总结(2sum,3sum,ksum)
- 两篇文章的相似度比较