根据里面的值显示ng-repeat外的按钮

时间:2015-05-22 08:56:06

标签: angularjs

我有一张表proposals

<tr ng-repeat="tp in proposals">
    <td>
        <span class="label label-warning" data-ng-show="tp.IsApproved == 0">Awaiting</span>
        <span class="label label-danger" data-ng-show="tp.IsApproved == 1">Rejected</span>
        <span class="label label-success" data-ng-show="tp.IsApproved == 2">Approved</span>
    </td>
    <td> [...] </td>
</tr>

然后在此表之后,我想要一个按钮,只显示proposalsIsApproved = 0的{​​{1}}项是否有项目。 (所以要么他们都有1/2或不存在)

<button ng-if="hasOpenProposal == false" data-ng-click="doStuff()">Create New</button>

我想我可以用ng-init做一些奇怪的事情,以便在遇到0值时将hasOpenProposal设置为true但是解决这个问题的实用/好方法是什么?

1 个答案:

答案 0 :(得分:2)

使用

hasOpenProposal()

并在控制器中实现$scope.hasOpenProposal = function() { return $scope.proposals.some(function(p) { return p.IsApproved === 0; }); }; 函数:

"script": {
  "lint": "jshint app"
}

或者在加载提案列表时计算此标志,并将其存储在范围属性中。