前端 = [...this.orderList] (深拷贝)和this.orderList (引用赋值)
this.formInfo.taskItemList = [...this.orderList]
是深拷贝(浅层深拷贝),会创建一个新数组,不会影响原数组。this.formInfo.taskItemList = this.orderList
是引用赋值,两个变量指向同一个数组,修改其中一个会影响另一个。
举个例子:
this.orderList = [1, 2, 3];// 方式一:深拷贝
this.formInfo.taskItemList = [...this.orderList];
this.formInfo.taskItemList.push(4);console.log(this.orderList); // [1, 2, 3] 不受影响// 方式二:引用赋值
this.formInfo.taskItemList = this.orderList;
this.formInfo.taskItemList.push(4);console.log(this.orderList); // [1, 2, 3, 4] 原数组也被改了
总结:
如果你不希望
taskItemList
的改动影响到orderList
,用[...this.orderList]
。如果你希望它们始终同步,用
this.orderList
直接赋值即可。