在阅读了 Sencha 的一些文档后,我有点困惑。
根据我的阅读,ExtJS 在模型/商店和客户端/服务器之间放置代理。现在,假设我有一个商店需要加载可能位于本地缓存或 HTML5-LocalStorage 中的数据,如果不需要GET
从服务器加载。我是配置一个管理这个的单一代理(在我看来这是一个很好的、干净的、关注点分离),还是每个源单独的代理。
任何澄清表示赞赏
可能做到这一点的最好方法是不自动加载商店。将逻辑与代理分开。检查数据是否在本地缓存或 HTML 5 存储中。如果是,请使用loadData
. 如果两者都不是,请告诉商店自行加载,因此,使用商店上设置的代理。这意味着您将只有 1 个商店和 1 个代理。
if (dataIsInLocalCache) {
store.loadData(dataFromLocalCache);
} else if (dataisInHTML5Storage) {
store.loadData(dataFromHTMLStorage);
} else {
store.load();
}