博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue中数组赋值问题
阅读量:7291 次
发布时间:2019-06-30

本文共 802 字,大约阅读时间需要 2 分钟。

出现的问题

昨天工作内遇到的问题,用输入arrList渲染了一个表格,修改了arrList,然而列表没有改变。 Vue 不是双向绑定吗?怎么回事?what's fuck 值变了? 列表没有变???

测试代码

//Vue中列表渲染的数据是这样的,单价和数量    renderData:[            {
perPrice: 1, number: 10}, {
perPrice: 1, number: 20}, {
perPrice: 1, number: 30}, ]复制代码
html 就不写了,反正就是列表渲染复制代码

效果如下

我给还原按钮写了个事件,点击修改renderData

//还原按钮的点击事件resetData(){      this.renderData[0] = {
perPrice: 1, number: 10} this.renderData.length = 1 }复制代码

点击还原,列表毫无反应,我明明改变了数组的值,还有他的长度。

解决

最后阅读了Vue的[官方文档](" 百度一下"),找到了答案 由于 JavaScript 的限制,Vue 不能检测刚刚的数组修改操作

代码修改

//还原按钮的点击事件resetData(){          this.$set(this.renderData,0,{
perPrice: 1, number: 10}) this.renderData.splice(1) console.log(this.renderData); }复制代码

效果如下

转载于:https://juejin.im/post/5c6666e6e51d457fce014cba

你可能感兴趣的文章
ndroid游戏开发源码案例25个汇总——下载目录
查看>>
ClassLoader
查看>>
mac node 安装mysql-libmysqlclient 问题
查看>>
OpenCart 之 CSV 格式商品导入 – 如何导入商品主图片和附加图片?
查看>>
避免常见的六种HTML5错误用法
查看>>
李尚志 线性代数
查看>>
Java常用集合的实现细节
查看>>
nexus搭建私服
查看>>
iOS学习之第二个View使用UITabBarViewController
查看>>
java.lang.UnsupportedOperationException
查看>>
Linux服务器遭受攻击后的处理过程
查看>>
数据库时间小技巧 - 取数据库中时间格式是12小时制的时间,如何显示成24小时制...
查看>>
Kafka基于topic的分区设计
查看>>
监控平台 --- zabbix高级配置
查看>>
解决JS浮点数(小数)计算加减乘除的BUG
查看>>
2016-06-17
查看>>
11-利用思维导图梳理JavaSE-Java的反射机制
查看>>
更多的信息是否就意味着学生更有知识呢?
查看>>
mysqli基本语法
查看>>
某个目录下右键打开cmder
查看>>