6

目前我没有意义如何使用 ember-data 实现分页。我发现,我可以返回“元”属性作为响应,并且 ember-data 不会引发错误。但我只是不知道如何访问它,也不知道该属性的预期用途。

互联网上的几个例子假设我已经将整个集合加载到 ember,或者他们做了一些小技巧并进行无限滚动,这不需要有关页数的信息。

我认为加载所有记录如果我有 < 1k 个记录就可以了,但有时我会处理大量数据(比如说 apache 日志)。然后怎样呢?

所以基本上我想使用 ember 和 ember-data 来构建我的第一个现实应用程序,但我只是认为这不是一个好主意。

好的,所以有人知道如何解决这个基本但复杂的问题吗?:)

4

1 回答 1

1

好的,这里有一些想法可以帮助您入门。

首先,您必须从路由开始,并将页码作为动态参数。

this.resource('posts', { path: '/posts/:page' };

然后由于我没有使用 Silex 的经验,您需要支持某种可用于分页的服务器端参数。例如offsetlimit其中第一个表示您要跳过多少条记录,第二个表示您希望从那里选择多少条记录。理想情况下,您应该将它们实现为查询参数,例如?offset=0&limit=10.

然后,您只需按如下方式实现您的表路由:

App.TableRoute = Ember.Route.extend({
    model: function (params) {
        return App.Post.find({ offset: (params.page - 1) * 10, limit: 10  });
    }
});

然后,您可以开始做一些更神奇的事情并创建每页参数的项目或通过提前获取所有记录的数量来验证页码。

于 2013-04-23T19:09:51.573 回答