我正在尝试将名称从一个对象复制到另一个对象,如下所示:
console.log(this.source.name)
//给出"mike"
mounted: function() {
this.client.name = Object.assign({}, this.source.name)
}
然后
console.log(this.client.name)
//为对象提供1: m, 2: i, 3: k, 4:e
我做错了什么?我该如何更正我的代码?
答案 0 :(得分:1)
Object.assign
需要两个对象参数,但您将string
传递给第二个参数。因此,如果您想分配字符串值,只需执行this.client.name = this.source.name
。
如果要复制对象值,请使用Object.assign
并将this.source.name
中的对象存储为this.source.name={"key":"value"};
。
答案 1 :(得分:1)
您可以使用以下调整:
this.client = Object.assign({}, this.client, {name: this.source.name})
答案 2 :(得分:0)
我会使用ES6 spread operator语法来实现此
const b = {iam b}
const a = {...b}
console.log(a) // {iam b}