AngularJS - ui - bootstrap 分页。在单个页面上隐藏按钮
AngularJS - ui-bootstrap pagination. Hide buttons on single page
我正在使用 ui-bootstrap 分页,当所有结果都包含在一个页面上时,我想隐藏分页控件。如下图所示,只有一页,控件仍在显示。 ui-bootstrap 团队将其本地包含在框架中似乎是常识。所以我在想可能有一种方法可以轻松地做到这一点,但我不知道从哪里开始。
控制器中的代码如下:
$scope.itemsPerPage = 5;
$scope.currentPage = 1;
$scope.maxSize = 4;
这里是 HTML:
<div ng-controller="observedCars">
<div ng-repeat="obv in observed['Observed CARs'] | startFrom:(currentPage - 1) * itemsPerPage | limitTo: itemsPerPage">
<div class="carId">{{ obv['Display Name'] }}</div>
</div>
<ul uib-pagination total-items="observed['Observed CARs'].length" ng-model="currentPage" items-per-page="itemsPerPage" ng-change="pageChanged()" max-size="maxSize"></ul>
</div>
我希望有人已经做过同样的事情并且可以提供帮助。
提前致谢。
您可以通过添加 ng-hide 手动完成:
<div ng-controller="observedCars">
<div ng-hide="observed['Observed CARs'].length == 1" ng-repeat="obv in observed['Observed CARs'] | startFrom:(currentPage - 1) * itemsPerPage | limitTo: itemsPerPage">
<div class="carId">{{ obv['Display Name'] }}</div>
</div>
<ul uib-pagination total-items="observed['Observed CARs'].length" ng-model="currentPage" items-per-page="itemsPerPage" ng-change="pageChanged()" max-size="maxSize"></ul>
</div>
这可能不是最好的方法,可能 ui-bootstrap 有办法解决这个问题,但我也找不到。
无论如何,这种方式 angular 将检查那里是否只有一个元素,如果它的长度不是 1 它将隐藏 div 与 ng-repeat 时相同的方式空。
对 ul 标签使用 data-ng-show,例如
<ul uib-pagination total-items="observed['Observed CARs'].length" data-ng-show="observed['Observed CARs'].length > itemsPerPage" ng-model="currentPage" items-per-page="itemsPerPage" ng-change="pageChanged()" max-size="maxSize"></ul>
我正在使用 ui-bootstrap 分页,当所有结果都包含在一个页面上时,我想隐藏分页控件。如下图所示,只有一页,控件仍在显示。 ui-bootstrap 团队将其本地包含在框架中似乎是常识。所以我在想可能有一种方法可以轻松地做到这一点,但我不知道从哪里开始。
控制器中的代码如下:
$scope.itemsPerPage = 5;
$scope.currentPage = 1;
$scope.maxSize = 4;
这里是 HTML:
<div ng-controller="observedCars">
<div ng-repeat="obv in observed['Observed CARs'] | startFrom:(currentPage - 1) * itemsPerPage | limitTo: itemsPerPage">
<div class="carId">{{ obv['Display Name'] }}</div>
</div>
<ul uib-pagination total-items="observed['Observed CARs'].length" ng-model="currentPage" items-per-page="itemsPerPage" ng-change="pageChanged()" max-size="maxSize"></ul>
</div>
我希望有人已经做过同样的事情并且可以提供帮助。
提前致谢。
您可以通过添加 ng-hide 手动完成:
<div ng-controller="observedCars">
<div ng-hide="observed['Observed CARs'].length == 1" ng-repeat="obv in observed['Observed CARs'] | startFrom:(currentPage - 1) * itemsPerPage | limitTo: itemsPerPage">
<div class="carId">{{ obv['Display Name'] }}</div>
</div>
<ul uib-pagination total-items="observed['Observed CARs'].length" ng-model="currentPage" items-per-page="itemsPerPage" ng-change="pageChanged()" max-size="maxSize"></ul>
</div>
这可能不是最好的方法,可能 ui-bootstrap 有办法解决这个问题,但我也找不到。
无论如何,这种方式 angular 将检查那里是否只有一个元素,如果它的长度不是 1 它将隐藏 div 与 ng-repeat 时相同的方式空。
对 ul 标签使用 data-ng-show,例如
<ul uib-pagination total-items="observed['Observed CARs'].length" data-ng-show="observed['Observed CARs'].length > itemsPerPage" ng-model="currentPage" items-per-page="itemsPerPage" ng-change="pageChanged()" max-size="maxSize"></ul>