ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – 过滤分页将参数传递给异步的ember数据关系请求

2019-07-03 02:22:11  阅读:261  来源: 互联网

标签:javascript rest ruby-on-rails ember-js ember-data


我想异步实现对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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有