我对如何使用dstore支持服务器端查询和客户端过滤感到困惑,并希望得到一些指导。我的情景:
如果我使用Request,filter()会将其查询参数传递给服务器,但数据不会被缓存,我无法告诉如何在客户端进行过滤。
如果我使用RequestMemory,filter()将应用于本地缓存,我无法告诉如何为服务器指定参数。
所有的作品似乎与dstore在一起,我还没想出如何把它们放在一起。谢谢你的帮助。
答案 0 :(得分:0)
看起来我想通了。关于我如何使用RequestMemory有几个问题。第一个是我没有意识到RequestMemory会自动调用fetch()。第二个问题是我将一个对象用作queryParam,它应该是一个数组。
为了满足我的要求,我创建了一个从Request和Cache扩展的新商店,就像RequestMemory一样,但我没有在postscript()函数中调用fetch()。然后我可以将参数传递给服务器:
store.fetch({queryParams: ['key=value']}).then(function(data) {
console.log("fetch", data);
});
我可以通过设置store.isValidFetchCache = true
然后执行客户端过滤器来“冻结”商店:
store.filter({type: 'xyz'}).fetch().then(function(data) {
console.log("filter", data);
});