ng-class 在 ng-repeat angularjs 中的值更改后未更新

ng-class not updating after the value change in ng-repeat angularjs

我正在尝试根据 ng-repeat 中的值设置活动 class。我能够基于默认值在第一页加载时实现它,但是每当更改值时 class 都不会更改。我正在使用 angularjs,这是我的代码

HTML

  <div style="margin-bottom:5px;margin-top:5px;">
                    <a ng-repeat="sizes in mainproductsdata|unique:'SizeName' | filter:selectedcolor" data-ng-click="showdetailsbyid(sizes.SizeName);" ng-class="{'colorselected': '{{sizes.SizeName}}' == '{{selectedsize}}' , 'colornotselected': '{{sizes.SizeName}}' != '{{selectedsize}}' } "  >{{sizes.SizeName}}</a>
                </div>

JS

    $scope.showdetailsbyid = function (size) {

        $scope.selectedsize = size;

    }

您不需要在 ng-class 中再次添加 angular 表达式 {{}}。试试下面的代码片段。

<div style="margin-bottom:5px;margin-top:5px;">
   <a ng-repeat="sizes in mainproductsdata|unique:'SizeName' | filter:selectedcolor"
     data-ng-click="showdetailsbyid(sizes.SizeName);"
     ng-class="{'colorselected': sizes.SizeName == selectedsize , 'colornotselected': sizes.SizeName != selectedsize }">
     {{sizes.SizeName}}
   </a>
</div>