我正在使用http://plnkr.co/edit/CBcbkc中ng-table的分组示例

现在,该表已初始化,并且行已扩展,但是我希望将它们最小化,因为我有100多个记录。我怎样才能做到这一点?

最佳答案

您可以使用 group.$hideRows ngInit设置为true:
<tbody ng-repeat="group in $groups" ng-init="group.$hideRows = true">
更新
我想找到一个更好的解决方案,因为不鼓励使用 ngInit 访问范围变量,这是对docs的不鼓励。

您可以为在ng-repeat中创建的每个组创建一个 Controller :

<tbody ng-repeat="group in $groups" ng-controller="groupCtrl">

然后,您可以直接访问组对象。这样的一个优点是可以有条件地扩展组的能力:
.controller('groupCtrl', function($scope) {
  if ($scope.group.value != 'Administrator')
    $scope.group.$hideRows = true;
});

http://plnkr.co/gXfsBq

仅供引用
我想知道为什么在源代码中找不到对$hideRows的任何引用。事实证明,只有在单击该对象后,该组对象才具有$hideRows属性。为了证明这一点,我用一个人造名称替换了$hideRows,它的工作原理相同。
  <tbody ng-repeat="group in $groups">
    <tr class="ng-table-group">
      <td colspan="{{$columns.length}}">
        <a href="" ng-click="group.invokeInvisbility = !group.invokeInvisbility">
          <span class="glyphicon" ng-class="{ 'glyphicon-chevron-right': group.invokeInvisbility, 'glyphicon-chevron-down': !group.invokeInvisbility }"></span>
          <strong>{{ group.value }}</strong>
        </a>
      </td>
    </tr>
    <tr ng-hide="group.invokeInvisbility" ng-repeat="user in group.data">

难怪你找不到初始化它的方法。

09-20 21:53