vue一个对象给另一个对象赋值之后 修改后者会影响前者的值
遇到一个问题:从列表中取出一行数据将它付给一个查看修改详情的页面做出修改之后,并未点击保存到数据库中,点击取消按钮,回到刚才的列表页会发现方才列表的哪一行数据会被修改。重新加载数据就会变为原值。原来vue同java语言类似对象赋值之后 只是将地址指向同一块内存空间,A=BAB指向同一块内存地址修改B后A所指向的地址的值也会发生改变。在java中可以重新new 一个对象,或者深度拷贝一个对象。vue
·
遇到一个问题:
从列表中取出一行数据将它付给一个查看修改详情的页面做出修改之后,并未点击保存到数据库中,点击取消按钮,回到刚才的列表页会发现方才列表的哪一行数据会被修改。重新加载数据就会变为原值。
原来vue同java语言类似对象赋值之后 只是将地址指向同一块内存空间,A=B AB指向同一块内存地址修改B后A所指向的地址的值也会发生改变。在java中可以重新new 一个对象,或者深度拷贝一个对象。
vue中也是如此。
解决方法:this.A=JSON.parse(JSON.stringify(this.B));
此外:如果改变的值为element-ui的rules校验的字段使用this.$refs[‘inputdata’].resetFields();也可以实现原值不被改变的效果;
更多推荐



所有评论(0)