vue中使用扩展运算符为axios.defaults赋值出错
import qs from 'querystring'
let config = {
transformRequest: [function (data) {
return qs.stringify(data)
}],
}
自己配置了一个默认配置对象,然后在全局对axios进行默认配置Vue.http.defaults = Object.assign(Vue.http.defaults, config)
这样子写的话transformRequest
能正确运行我设置的默认配置,但是如果用Object.assign({}, Vue.http.defaults, config)
或者{...Vue.http.defaults, ...config}
的话,结果跑的是axios自己的默认配置,那么这两种赋值方法的区别是在哪呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Object.assign()
是一重深度的深拷贝第一个方法没有改变vue.http.defaults实例,
返回的还是vue.http.defaults对象
Object.assign({}, Vue.http.defaults, config)
或者{...Vue.http.defaults, ...config}返回了一个全新的对象
{}
,这个对象和axios.defaults完全没有任何关系了具体请见 MDN关于 object.assign()的文档
不知道了!