2014-09-20 61 views
0

每次用戶提交表單時,這些字段都在$scope.params對象中。我想跟蹤$scope.history對象上的所有提交的數據。所以我做:

$scope.history.push($scope.params)

這不是工作,因爲當我輸出到控制檯,每個實例只顯示提交表單的最新值。例如,如果我提交表單三次,每一次我改變「關鍵詞」,這是它顯示我:

{ 
    { keywords: 'Test 3' }, 
    { keywords: 'Test 3' }, 
    { keywords: 'Test 3' } 
} 

,但是這是我所期待的:

{ 
    { keywords: 'Test 1' }, 
    { keywords: 'Test 2' }, 
    { keywords: 'Test 3' } 
} 

我如何獲得理想的結果?

回答

2

您正在將$scope.params的引用推入數組,因此每個元素都指向同一個對象。您需要每次複製一份...

$scope.history.push(angular.copy($scope.params)); 
+0

謝謝!這樣可行。我知道這個問題與引用有關,只是不知道如何讓它轉儲數據而不是使用引用。 AngularJS仍然是新的。非常感激! – BuildTester1 2014-09-20 00:35:42

相關問題