Ember数据:(最佳实践)find()的动态参数

时间:2015-05-11 10:13:01

标签: ember.js ember-data

也许它只是我脑子里的一个脑虫,但我现在真的很困惑。

我有一个搜索公式,其中包含许多可配置的更改参数,如下所示:

ID,姓名,姓氏,日期1,

这些参数没有分级顺序,用户可以在表单内外配置它们。

查询参数的余烬方式是:{ID:...,lastname:...,date1:​​...},但如果我不知道哪些参数可以面对,我该怎么办?我们的应用程序中有不同的模块,从10到40个参数可配置....

我需要帮助才能找到最佳实践"解决这个问题。 我很高兴,如果有人能给我一个影响如何解决这个问题!

最好的问候,Jan

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望找到一个可重复使用的解决方案,不为if的不同查询参数列出@store.find的大量列表。

为了使其可重复使用,您可以使用单个查找,如下所示:

this.store.find('myModel', queryHash)

在通话前建立queryHash。例如,您可以拥有一组复选框和一个基于所有复选框值的计算属性。此计算属性将构建您的哈希,例如:

queryHash: Ember.computed "lastName", "date1", function() {
   query = {}
   if(this.get("lastName")) { query.lastName = this.get("lastName"); }
   if(this.get("date1")) { query.date1 = this.get("date1"); }
   query
});

缺点是您需要知道用户当前路线中可用的所有可用选项(但不需要检查)(例如通过某种输入或形式)。

另一方面,如果你不能说出什么是名称(或者有多少名称),你至少可以将所有用户提供的数据保存在某种阵列中并通过它进行控制,添加所有正确的名称。带有query对象值的哈希键。