gpt4 book ai didi

javascript - Ember.js 和分页

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:27:00 25 4
gpt4 key购买 nike

所以问题是,我正在尝试从 JSON 数据文件(大约 5000 个条目)中加载相当多的条目到表行中,我想知道什么是处理分页的最佳方法。

我知道 jPages 和其他插件,但由于我对 Ember.js 还很陌生,所以我想知道是否有 Ember 方法可以实现这项工作。我有点想传递条目的总量,通过设定的数量手动循环渲染,但我认为这对于我需要分页的其他区域来说不是很方便。

我应该查看路由吗?

最佳答案

所以我转而创建一个看起来有点像这样的 mixin

App.PaginationHelper = Em.Mixin.create({
pageSize: 10,
totalLines: 20,
rangeStart: 1,
rangeStop: function () {
var rangeStop = get(this, 'rangeStart') + get(this, 'pageSize') - 1;
totalLines = get(this, 'totalLines');
if (rangeStop < totalLines) {
return rangeStop;
}
return totalLines;
}.property(),

currentPage: function () {
return get(this, 'rangeStop') / get(this, 'pageSize');
}.property(),

totalPages: function () {
return Math.ceil(get(this, 'totalLines') / get(this, 'pageSize'));
}.property(),
[...]

等等,然后为它创建一个单独的 View ,这样我就可以重用它,甚至可以在单个页面上多次重用它,方法是创建一个具有唯一 id 的容器 div 来附加 View 的每个实例化附加到。

所以我可以用新变量重复下一行,但通过保持 templateName 相同来重用模板。

var firstCaseOfPaginationViews = Em.View.create({
templateName: 'pagination'
[...]
});

firstCaseOfPaginationViews.appendTo('#transaction_pagination');

现在,mixin 现在可以简单地包含到我需要分页的任何 Controller 中。我希望这是在 Ember 中做事的正确方式,看起来这将是我将采用的方式,直到我在以后重构和重新访问之前。

关于javascript - Ember.js 和分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12169245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com