【发布时间】:2017-01-01 03:07:51
【问题描述】:
我是分页新手,我发现 this 指令在我阅读的内容中受到 Angular JS 的高度追捧。我正在尝试实现分页以使用我创建的自定义分页 html/css 布局。
由于页数显示正确,并且显示的项目数按照我指定的正确,分页略有作用。但是,问题是单击分页列表中的例如第 2 页不会加载下一个包含 5 个项目的列表。它只是停留在同一个列表上。
我有点困惑如何正确使用该指令的所有部分,所以我认为我在执行该指令时做错了。
我关注的指南位于here,与上面的存储库相同。
下载文件并添加到项目中:
dirPagination.js
我的 HTML 如下:
<div id="pages" ng-if="1 < pages.length || !autoHide">
<span ng-class="{ active : pagination.current == pageNumber,
disabled : pageNumber == '...' }" class="pagenumber"
dir-paginate="pageID in controller.list| filter:q | itemsPerPage:
controller.pageCount" current-page="controller.currentPage">
<a href="" ng-click="setCurrent(pageID)">{{ pageID.id }}</a>
</span>
</div>
<div class="myResults" dir-paginate="results
in controller.list| filter:q | itemsPerPage: 5" current-page="1">
<div class="listFigures">
<figure class="imageList">
<img ng-src="{{results.image}}" ng-alt=
{{results.imageAlt}}" ng-title=
{{results.imageTitle}}" />
</figure>
</div>
</div>
在我的控制器中,我根据项目数量设置了 pageCount(它用作参数并用于显示现在有多少页):
vm.pageCount=2;
vm.currentPage = 1;
工作:
- 页面列表正在显示,按照上面的代码,您会看到它有 8 页。
- 仅显示 5 个项目
不工作:
- 单击另一个页面(在本例中为 2)不会将我带到另一个数据页面。列表不会刷新。单击另一个页码会显示相同的 5 个项目列表。共有 8 个项目,显示 5 个,点击第 2 页应该显示最后 3 个。
研究过的帖子:
如果我的实现完全关闭,我对如何使其正常工作感到困惑。我已经阅读了一些帖子,并尝试按照存储库中的指南进行操作,但我不明白如何正确使用它。我有兴趣了解如何使用自定义 html/css 而不是使用 dirPagination.tpl.html template 来实现此分页指令。
遵循最佳实践,您可以阅读 here 了解标准 Angular。
【问题讨论】:
标签: javascript html angularjs pagination dirpagination