如何在ng repeat中比较两个不同的对象

How to compare for two different objects inside ng-repeat

本文关键字:两个 对象 ng repeat 比较      更新时间:2023-09-26

在ng repeat中比较两个不同对象是否相等的最佳方法是什么,为什么angular.equals在这里不适用:

<tr ng-repeat="row in ctrl.filteredItems" ng-class="{'active':angular.equals(row,ctrl.ngModel), 'focus': angular.equals(row,ctrl.focusedRow)}">
      <td ng-repeat="value in ctrl.sort(row) track by $index" class="text-center">
            {{value}}
      </td>
</tr>

如果当前行和来自控制器的预选行匹配,我想添加活动类。

在JS中编写一个函数,该函数将执行angular.equals(obj1,obj2),并使用该函数检查它是否处于活动状态?

HTML

<tr ng-repeat="row in ctrl.filteredItems" ng-class="{'active': checkEqualiy(row, ctrl.ngModel), 'focus': checkEquality(row,ctrl.focusedRow)}">
  <td ng-repeat="value in ctrl.sort(row) track by $index" class="text-center">
        {{value}}
  </td>
</tr>

JS-

$scope.checkEquality= function(param1, param2){
   return angular.equals(param1, param2)
}