Ember.js:提取queryParams对象

时间:2015-03-17 20:14:41

标签: ember.js query-parameters

我正在使用Ember的queryParams: http://emberjs.com/guides/routing/query-params/

查询参数是动态的,因此基本控制器不知道属性是什么。例如。它可以是['q', 'page']['q', 'foo', 'bar']或任何其他排列。

如何获取查询参数的参数对象,以便在不知道实际查询参数属性是什么的情况下将其传递给store.find('modelName', params)

执行此操作的一种方法是在控制器内部进行以下操作:

var params = {};
this.get('queryParams').forEach(function(param){
  params[param] = this.get(param);
}, this);

this.store.find('widget', params);

...但必须有一种更优雅的方式来做到这一点。

1 个答案:

答案 0 :(得分:0)

我不确定这是否更好,但我目前做的是以下内容:

this.store.find('widget', this.getProperties(this.getProperties('queryParams').queryParams) )

这将获取控制器上的所有查询参数,并将它们提供给model.find方法。我不确定这种方法是否存在负面影响,但它比迭代每个属性更简洁。