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

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

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

解决方法

您可以使用 ngInit将组.$hideRows设置为true:

< tbody ng-repeat =“$groups中的组”ng-init =“group.$hideRows = true”>

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

您可以为ng-repeat中创建的每个组创建一个控制器:

<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

FYI
我想知道为什么我在源代码中找不到任何对$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">

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

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...