尝试解析和字符串化一些JSON数据时出现错误。
在这一行:
this.copyOfColumns = JSON.parse(JSON.stringify(Object.assign([], this.columns)));
这里是整个@Input(使用Angular 4):
@Input()
set gridColumns(gridColumnsArr: Array<object>) {
console.log('gridColumnsArr');
console.log(gridColumnsArr);
this.columns = this.sortActiveAndInactiveColumns(gridColumnsArr);
console.log('this.columns');
console.log(this.columns);
this.copyOfColumns = JSON.parse(JSON.stringify(Object.assign([], this.columns)));
console.log('this.copyOfColumns');
console.log(this.copyOfColumns);
}
以下是记录到控制台的数据(this.columns)...以及以下错误:
答案 0 :(得分:1)
我假设您想通过使用JSON.parse(JSON.stringify())
深复制该数组。显然,您的数据结构具有circular references,而JSON.stringify()
失败。
您应该清理数据以不包含ciruclar引用,或者尝试使用类似flatted的库