ExtJS 从多个代理源填充存储

ExtJS populate store from multiple proxy sources

我有一个分布式数据库系统,我希望我的 EXTJS 应用程序从多个来源请求数据并将其放入单个存储中。有没有办法为单个商店定义多个代理 url?实现此目的的最佳方法是在需要数据之前创建多个存储并合并它们吗?

在我看来,从多个来源聚合数据的最佳方式是在您的后端聚合数据,return 借助一个端点。

Extjs 不支持多代理。但是您可以创建与源一样多的存储,并将所有数据收集在一个内存存储中。但是在这种情况下你会失去很多功能,where help you work with remote proxy store

不使用开箱即用的单个代理,您可以创建自定义代理,但这会使事情过于复杂:

也有几种方法可以给这只猫剥皮(假设是平面商店/不是树店)

1) 加载多个存储,然后使用 getData() 填充中央存储以从存储中获取记录,然后使用 'beforeload' 事件手动触发分布式存储上的 load()。

https://docs.sencha.com/extjs/7.0.0/classic/Ext.data.Store.html#method-getData

2) 使用 Ajax 请求获取数据,然后追加到一个大数组中,然后在内存存储上使用 loadData() 来填充存储。

我敢肯定还有其他人,这取决于 'large' 商店的情况......如果它很大,将所有记录同步到一个数据库然后在商店中展示它们可能会更简单。