if and else条件在angularjs中的forEach循环中不起作用

时间:2019-10-03 12:55:20

标签: javascript html css angularjs

我有多个div元素,它将通过ng-repeat动态加载。

  • 我有六个带有“查看全部” 按钮的动态行。

  • 如果单击该按钮,我将在参数中传递 id 。这样特定的ID就会被点击。但是我需要的是

  • 如果我单击特定的“查看全部” 按钮,则只需要隐藏该特定按钮,而要显示“关闭” 按钮即可“全部查看” ,我需要更改两个div的样式(类名是“ container-body and object-thumb”)

    < / li>
  • 但是对我来说,在我的if条件下,它正确了。但是例如,如果我要单击第4行,则表示条件成立。但是循环仍然没有结束。所以在其他情况下也要排第5和第6行。所以它对我不起作用。

  • 我该怎么做。谁能告诉我。

$scope.viewData = function (stuid) {
$scope.getAll.forEach(function (pillar) {
        $scope.names.forEach(function (name) {
          if(name.id == pillarid){
            angular.element('.addViewCards').addClass('fullViewCards');
            angular.element('.addcardsMargin').addClass('removeMargin');
          }else{
            angular.element('.addViewCards').removeClass('fullViewCards');
            angular.element('.addcardsMargin').removeClass('removeMargin');
          }
          
});
});
}
.fullViewCards{
    display: inline-block !important;
}
.removeMargin{
    margin: 10px !important;
}
<div class="container-body" ng-class="value.length > 5 ? 'addViewCards' : ''">
                        <div class="object-thumb" ng-repeat="card in value | orderBy:'cardorder'" ng-class="{'addcardsMargin' : value.length > 5}">
                        
</div>
</div>

<button class="btn btn-default" ng-click="viewData(value[0].stuid)">View All</button></li>

0 个答案:

没有答案