當執行?this.tableDataSim.push(this.simForm)
?時,將?this.simForm
?對象添加到?this.tableDataSim
?數組中。如果?this.simForm
?是一個對象,并且?this.tableDataSim
?數組中之前的對象是通過引用方式存儲的,那么之前的對象會被改變,因為它們指向的是同一個對象。
在 JavaScript 中,對象是引用類型。當將一個對象賦值給一個變量或將其作為參數傳遞給函數時,實際上是將對象的引用復制給了新變量或函數參數。這意味著新變量或函數參數與原始對象指向同一個對象,任何對該對象的修改都會影響所有引用它的變量或參數。
因此,當您使用?push()
?方法將?this.simForm
?對象添加到?this.tableDataSim
?數組中時,它們實際上引用的是同一個對象。如果之前的對象是通過引用存儲的,那么當您修改?this.simForm
?對象時,之前的對象也會被改變。
要避免這種情況,您可以在?push()
?操作之前創建一個新的對象,并將?this.simForm
?的屬性復制到新對象中,然后將新對象添加到?this.tableDataSim
?數組中。
var newObject = Object.assign({}, this.simForm); // 創建一個新對象并復制屬性 this.tableDataSim.push(newObject); // 將新對象添加到數組中