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

时间:2015-03-09 07:57:32

标签: angularjs firebase angularfire


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

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

1 个答案:

答案 0 :(得分:3)

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

     <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