在写vue的项目时,用axios请求到的数据,直接赋值给data对象,当修改data对象里面的数据,请求到的数据也会改变。
在这里插入图片描述
_this.detailData是data对象里面的数据,response.data.data是请求到的数据,当修改_this.detailData里面的数据时,response.data.data里面数据也会改变,如下图,这不是我们想要的,这就涉及到深拷贝和浅拷贝的问题,具体说明等下次我会具体说下深拷贝和浅拷贝的问题,现在我就说下解决方法。
在这里插入图片描述
我找到一个es6里面的方法,比较简单,就是Object.assign,如下图,再修改data对象里面的数据,response.data.data就不会改变。Object.assign只试用于response.data.data对象里面非对象的数据,如果是对象,也会改变。
在这里插入图片描述
在这里插入图片描述
这是写项目时,遇到的问题,记录下来和大家分享,希望可以帮助大家,有错误的话,敬请拍砖,如果喜欢,大家点下关注。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐