2013-10-12 23 views
1

我正在向customer.orders數組中推入新訂單,並且一切正常,但似乎引用了ngModel,因爲如果我現在在neworder.product模型中輸入某些內容,它會更新客戶視圖.orders.product。它似乎在刷新時重置自身。將ngModel引用推入數組時

任何想法?

一些代碼:

$scope.currentCustomer.orders.push($scope.newOrder); 

的newOrder形式:

<form id="newOrder" ng-submit="submit()"> 
    <input type="month" ng-model="newOrder.date" /> 
    <div> 
     <label ng-repeat="product in products"> 
     {{product}} 
     <input type="number" ng-model="newOrder[product]" /> 
     </label> 
    </div> 
    <button> 
     Add Order 
    </button> 
</form> 

我顯示我的命令:

<div ng-repeat="order in currentCustomer.orders"> 
     <span class="header"> 
     {{order.date}} 
     </span> 
     <span ng-repeat="product in products">  
      {{product}}: {{order[products]}} 
     </span> 
</div> 

會發生什麼: 1)輸入一個新的訂單,然後按回車。 2)輸入新的訂單。 3)上述所有訂單在輸入時都會更新?我不明白,因爲ngModel是不同的?

我試過angular.copy

回答

3

您對所有客戶的訂單使用相同的數據對象。使用角」 copy方法,這樣每一個訂單都會有自己獨特的目標:

$scope.currentCustomer.orders.push(angular.copy($scope.newOrder)); 

工作小提琴:http://jsfiddle.net/MZnML/

+0

OMG我發誓,我已經嘗試過,...對不起,打擾你。 – Lorof

+0

@Lorof我喜歡用Angular解決問題,這樣我也學習了! ;) – Cherniv

+0

當然,但我已經嘗試angular.copy(我甚至在問題中寫道)......也許舊的js文件緩存踢了(偶爾會發生) – Lorof