在vue开发的时候最常遇到的问题就是我们通过methodsethods里面的方法改变了data里面数据的值,我们发现在js里面这个数据已经改变了,但页面渲染数据时却还是之前的状态,这个问题最常见的解决方案:
#### 方案一:深浅拷贝数据赋值时发生了问题
最简单的例子
let arr = this.dataList
js逻辑处理完arr后在this.dataList = arr给dataList赋值;
这样虽然确实改变了this.dataList但这却是浅拷贝,解决方法也很简单,使用深拷贝就行,我最常用的就是...扩展运算符,let arr = [...this.dataList],不会用的还是看上面的链接文章。
#### 方案二:赋值成功但vue底层没有检测到
解决方法,赋值的时候用vue里面的方法赋值,this.$set解决,不会的看下面文章:[vue.set](https://cn.vuejs.org/v2/api/?#Vue-set)
#### 方案三:computed解决
如果上面两个方法都不能解决,可以使用计算属性解决,这个只要你在页面渲染了,值发生改变页面立即会刷新,不会的去vue官方文档学学;
好了,希望可以帮助到你!end~~~~~