javascript – 过滤分页将参数传递给异步的ember数据关系请求
作者:互联网
我想异步实现对ember数据的分页/过滤.
这是我的作者模型:
export default DS.Model.extend({
user: DS.belongsTo('user'),
articles: DS.hasMany('article', { async: true }),
name: DS.attr('string'),
email: DS.attr('string')
});
路线:
export default Ember.Route.extend({
model: function(params) {
return this.store.find('author', params.author_id);
}
});
控制器:
export default Ember.ObjectController.extend({
popularArticles: function() {
return this.get('model.articles').filter({ tab: 'popular' });
}.property('model.articles')
});
请注意,模型具有带有DS.hasMany(‘article’,{async:true})关系的articles属性.
如果我使用此属性,则此请求将成为authors / 1 / articles及其异步.
这是好的,直到我需要提出如authors / 1 / articles?page = 2或authors / 1 / articles?tab =“hot”的请求.
一种可能的方法是,如控制器中所示,我有一个popularArticles属性,它过滤了model.articles属性,并将在不加载所有文章的情况下生成过滤后的请求.
如何将查询参数传递给ember数据中的异步加载关系?
解决方法:
这个插件可能会有所帮助:https://github.com/mdehoog/ember-data-has-many-query.
允许您将查询参数添加到has-many关系中,例如:
post.query(‘comments’,{page:1});
标签:javascript,rest,ruby-on-rails,ember-js,ember-data 来源: https://codeday.me/bug/20190703/1362195.html