关于Vue双向数据绑定,在未赋值之前使用所出现的问题
今天在写前端项目时发现了一个问题,一个双向绑定数据,在一步方法赋值,结果在使用的是否发现数据不一致。
//比如,一个数组在控制台中打印
空[]
但是展开可以看到数据
[
name:'张三',
age:18
]
出现这样的问题主要原因是,这个数组在打印的是否并没有值,但是在后期的某个时刻,这个数组上被附上值了,这时候我们去使用,可能用的是第一次赋值的结果。
可以使用 ob 这个对象查看这个数组的赋值过程,可以看到 在里面是有我们二次或三次赋值上的
这个问题通常发生在异步方法中,解决这个问题的方法是:JSON.parse(JSON.stringfly()) 先转换为json字符,在转换为对象,最后拿去使用 就会得到最后赋值上的值了。
vue 上说了不支持array[index] = 'x' 这种方式的赋值,无法监听到数据的变化 。【可以使用Vue.$set】