我正在使用
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; });
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">
难怪你找不到初始化它的方法.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。