值是上图这样的数组,比较特殊的是我要改变value这个字段。
改变方法如下:
但是其他的字段可以改变,唯独value这个一直改变不了。推测可能和value这个关键字有关系。
值是上图这样的数组,比较特殊的是我要改变value这个字段。
改变方法如下:
但是其他的字段可以改变,唯独value这个一直改变不了。推测可能和value这个关键字有关系。
直接改变数据里面的值vue是检测不到的,除非用
所以你这个可以用this.$set(this.tranList,this.tranList[index],item+1)
你目前发的代码没什么问题
至于检测数组没问题forEach
其实是:this.tranlist[0].value += 1
Vue
对data
进行了递归处理你这样改的是对象 所以没问题arr[0] = 1
改的是数组不行arr[0].name = 1
改的是数组里的对象可以
直接修改值是检测不到变化的
需要用Vue的方法
上代码
import Vue from 'vue'
Vue.set(this.tranList, 1, {
value: 0,
name: '',
text: ''
})
你的数据是ajax获取的么?data初始化的时候tranList是不是设置的为null或者干脆就没有这个?如果在ajax之前没有定义这个属性,就不会监控这个属性,需要用this.$set('tranList',data)在ajax成功后赋值
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
vue里直接修改数组某项的值,vue检测不到变化,不知道你说的修改不了是不是console.log打印出来的值没有变,还是页面上的数据没有变
https://cn.vuejs.org/v2/guide...