在 ExtJS 中使用代理
Posted
技术标签:
【中文标题】在 ExtJS 中使用代理【英文标题】:Use of Proxies in ExtJS 【发布时间】:2013-08-21 20:35:16 【问题描述】:在阅读了 Sencha 的一些文档后,我有点困惑。
根据我的阅读,ExtJS 在模型/存储和客户端/服务器之间放置代理。现在,假设我有一个商店需要加载可能位于本地缓存或 html5-LocalStorage 中的数据,如果不需要,则需要从服务器 GET
。我是配置一个 single 代理来管理这个(在我看来,这是一个很好、干净、关注点分离),还是每个源单独个代理。
欢迎任何澄清
【问题讨论】:
【参考方案1】:可能做到这一点的最佳方法是不自动加载商店。将逻辑与代理分开。检查数据是否在本地缓存或 HTML 5 存储中。如果是,请使用loadData
加载该数据。如果两者都不是,请告诉商店自行加载,因此,使用商店上设置的代理。这意味着您将只有 1 个商店和 1 个代理。
if (dataIsInLocalCache)
store.loadData(dataFromLocalCache);
else if (dataisInHTML5Storage)
store.loadData(dataFromHTMLStorage);
else
store.load();
【讨论】:
杰夫,感谢您的回复!看起来是个好主意。从设计角度来看,这个逻辑应该在哪里?在控制器和商店之间? 这就是我要放的地方。以上是关于在 ExtJS 中使用代理的主要内容,如果未能解决你的问题,请参考以下文章