ng-table分组 - 初始化行最小化

dop*_*ner 5 angularjs ngtable

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

现在,表被初始化,扩展了行,但我希望它们最小化,因为我有超过100条记录.我怎样才能做到这一点?

j.w*_*wer 10

您可以group.$hideRows使用ngInit以下设置为true :

<tbody ng-repeat="group in $groups" ng-init="group.$hideRows = true">

更新
我想找到一个更好的解决方案,因为angular docs不鼓励使用ngInit访问范围变量.

您可以为在以下位置创建的每个组创建一个控制器ng-repeat:

<tbody ng-repeat="group in $groups" ng-controller="groupCtrl">
Run Code Online (Sandbox Code Playgroud)

然后,您可以直接访问组对象.这样做的一个优点是能够有条件地扩展一个群体:

.controller('groupCtrl', function($scope) {
  if ($scope.group.value != 'Administrator')
    $scope.group.$hideRows = true;
});
Run Code Online (Sandbox Code Playgroud)

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">
Run Code Online (Sandbox Code Playgroud)

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