ngModel 引用,当推送到数组中时

ngModel reference when pushed into array

本文关键字:数组 引用 ngModel      更新时间:2023-09-26

我正在将一个新订单推送到 customer.orders 数组中,一切正常,但它似乎引用了 ngModel,因为如果我现在在 neworder.product 模型中键入一些内容,它会更新 customer.orders.product 的视图。它似乎在刷新时自行重置。

有什么想法吗?

一些代码:

$scope.currentCustomer.orders.push($scope.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方法,这样每个订单都会有自己独特的对象:

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

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