我有一个嵌套的ng-repeat列表,并且当嵌套列表中的任何项被修改时,我想向父类添加一个类。

看起来像这样:

<div ng-repeat="pa in products" ng-class="{full: vari.basket>0}">
    <div ng-repeat="vari in pa.variacions">
       <input type="number" ng-model="vari.basket" name="basket" min="0" max="20" step="1" ng-init="vari.basket=0">
    </div>
</div>


所以基本上我想在任何vari项目的购物篮> 0时添加full类。

到目前为止无法正常工作,我想念什么?

最佳答案

您可以在控制器中添加一个函数来为您的父级设置类。

<div ng-repeat="pa in products" ng-class="{full: isFull(pa.variacions)}">
    <div ng-repeat="vari in pa.variacions">
       <input type="number" ng-model="vari.basket" name="basket" min="0" max="20" step="1" ng-init="vari.basket=0">
    </div>
</div>


在您的控制器中:

$scope.isFull = function(variacions) {
  if (!Array.isArray(variacions)) {
    return false;
  }

  return variacions.find(vari => vari.basket > 0);
}

09-19 10:41