如何在ember数据中缓存查询结果

Lux*_*Lux 36 javascript jquery caching ember.js ember-data

我想在ember-data中缓存查询结果.(findQuery)

说清楚:我不想缓存整个模型; 只是什么模型是查询的结果.这个地方适合哪个地方?

我正在考虑在适配器中实现它并缓存AJAX调用的结果,但我不认为这是一个很好的解决方案,因为我不想覆盖加载的,可能更新和/或修改的模型数据.

我不认为只能返回一个ID列表,并且操纵适配器串行器这个简单的用例似乎很混乱!

实际上我不希望findQuery调用特定类型的查询.喜欢的行为findAll.尼斯会像queryShouldBeCached钩子一样.

有一个很好的解决方案吗?

小智 0

当您基于参数触发请求时,Ember Data 不知道这些参数如何必然转换为模型(也就是说,它不知道您拥有具有某种关系 param1 的所有记录)。您可以自己缓存它,但是您仍然需要某种方式从商店中的其他记录中了解这些记录。