循环更新 Firebase 中数组对象中的 属性?

Loop to update a property in array object in Firebase?


我正在使用 AngularJS、带有 AngularFire 库的 Firebase 创建一个简单的库存管理应用程序。
当用户执行 Import/Export 操作时尝试更新单元号时出现问题。我不知道如何在 运行 循环时检索每个产品的 id / 索引。
我的意图是:用户可以从自动完成列表(Angucomplete-alt 库)中选择产品来做 Import/Export,然后输入单位数。他可以将产品添加到将用于 1 Import/Export 的产品列表中。当他单击 "Change" 时,循环将 运行 并更新每个产品的单位编号。
请帮助我实现该功能,非常感谢。
这是我在 [Plnkr.co][1]

的样本
  [1]: http://plnkr.co/edit/UovmBcNjyk3w7FW3NbMC?p=preview

我们可以 运行 两个循环来匹配产品名称并递增单位。 但更优雅的方法是使用 select 选项仅向他们展示库存中可用的产品。

     <select class="form-control" ng-init="product.currProd = products[0]" ng-model="product.currProd" ng-options="prod.name for prod in products"></select>

然后将 currProd 属性 添加到每个推送的产品中。

更改单位功能可以更改如下

      var obj = $firebaseArray(productRef);
      $scope.products=obj;

      $scope.changeUnit = function(){
        $scope.productList.forEach(function(prod){
        prod.currProd.unit=prod.unit;
        obj.$save(prod.currProd);
       });
    }

这是分叉的 plunker

http://plnkr.co/edit/vGvMwqaXOoagqs0R4V2Y?p=preview