ExtJS 4.0.7 TreeStore - 通过在两个TreeStore中使用相同的数据来避免两个HTTP请求

时间:2013-03-05 02:36:53

标签: http extjs tree store treepanel

我的应用程序有两个可编辑的TreePanel,每个都显示一个树,因此每个都有自己的TreeStore定义。最初,这些商店的数据完全相同 - 从服务器加载的大型JSON树。所以理想的是不必加载相同的JSON树就可以发出两个HTTP请求,因为这是一个非常昂贵的操作。

请注意,这两个TreePanel的基础TreeStore对象必须不同。否则,一个面板中的更改将立即级联到另一个面板。

但是,有没有人知道是否可以避免发出两个HTTP请求并以某种方式将一个TreeStore加载的数据传递给另一个?

非常感谢任何建议。 谢谢!

1 个答案:

答案 0 :(得分:0)

在这里找到答案:

http://www.clintharris.net/2011/how-to-use-extjs-4-treepanels-with-both-static-data-and-model-stores/

诀窍是在第二个TreeStore上使用setRootNode()方法并传入数据。为了从第一个TreeStore中获取数据,我最终只是递归地迭代树并构造它的字符串JSON表示。然后使用Ext.decode()方法将其转换回对象。这种转换是相当浪费,但深度copy()不起作用 - ExtJS中的错误。从来没有,这比击中服务器要快得多。